Cod sursa(job #25198)

Utilizator vlad2179Popescu Vlad Alexandru vlad2179 Data 4 martie 2007 11:20:47
Problema Buline Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 0.76 kb
#include <stdio.h>
int bu[2000],c;
long n;
void citeste(){
 FILE* f;
 f=fopen("buline.in","rt");
 fscanf(f,"%ld\n",&n);
 for(int i=1;i<=n;i++){
  fscanf(f,"%d %d",&bu[i],&c);
  if(!c) bu[i]*=-1;
 }
}
int main(){
  FILE* g=fopen("buline.out","wt");
 long i,j,poz=0,l=0,spoz=0,nrneg=0;
 int stop=0;
 long long suma=0;
 citeste();
 for(i=1;i<=n;i++){
  if(suma+bu[i]>0){poz=i-l;l++;suma+=bu[i];if(poz>spoz) spoz+=poz;}
  else {suma=0;poz=0;l=0;nrneg++;}
 }
 if(nrneg==0) {
  fprintf(g,"%lld %ld %ld",suma,poz,l);}
  else{
 suma=0;i=poz;l=0;
 while(!stop){
  if(i>n) i=1;
  if(spoz-poz==0){
   if(l>spoz-poz+1) stop=1;}
  else if(l>spoz-poz) stop=1;
  suma+=bu[i];
  l++;i++;
 }
fprintf(g,"%lld %ld %ld",suma,poz,l);
 fclose(g);
}
return 0;
}