Pagini recente » Cod sursa (job #2250071) | Cod sursa (job #2626421) | Cod sursa (job #652160) | Cod sursa (job #2418959) | Cod sursa (job #25198)
Cod sursa(job #25198)
#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;
}