Strategus
From Algopedia
/*
Nume program: Strategus
Nume participant: David Sachelarie
*/
#include <stdio.h>
#include <stdlib.h>
int vector[30];
int main()
{
int a,contor,numarare,contor2;
char spatiu;
contor=0;
while(contor!=30){
vector[contor]=-1;
contor++;
}
scanf("%d" ,&a);
spatiu=getchar();
contor=0;
numarare=0;
while(spatiu!='\n'){
vector[contor]=a;
if(a!=0){
numarare++;
}
contor++;
scanf("%d" ,&a);
spatiu=getchar();
}
vector[contor]=a;
if(a!=0){
numarare++;
}
contor=0;
if(numarare==1){
while(contor!=30 && vector[contor]!=-1){
if(vector[contor]!=0){
vector[contor]=0;
}
contor++;
}
}
a=0;
contor2=0;
if(numarare>2){
while(vector[contor]==0){
contor++;
}
if(vector[contor]>0){
vector[contor]=0;
}
contor++;
}
if(numarare==2){
numarare=0;
while(contor!=30 && vector[contor]!=-1){
if(vector[contor]!=0 && numarare==1){
if(vector[contor]==a){
vector[contor2]--;
}
if(a<vector[contor]){
vector[contor]=vector[contor2];
}
if(a>vector[contor]){
vector[contor2]=vector[contor];
}
}
if(vector[contor]!=0 && numarare==0){
a=vector[contor];
contor2=contor;
numarare++;
}
contor++;
}
}
contor=1;
while(vector[contor]!=-1){
printf("%d " ,vector[contor-1]);
contor++;
}
printf("%d" ,vector[contor-1]);
printf("\n");
return 0;
}