Cod sursa(job #702873)

Utilizator VladMSBonta vlad valentin VladMS Data 2 martie 2012 09:45:15
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<cstdio>
using namespace std;
FILE *fin=fopen("minim.in","r");
FILE *fout=fopen("minim.out","w");
int i,j,n,o[1010],v[1010],ok,da[1010],ok2,pozs,pozf,s[1010],min1;
int main()
{fscanf(fin,"%d",&n);
 for(i=1;i<=n;++i)
	 fscanf(fin,"%d",&v[i]);
 while(ok==0)
	 {min1=0;pozs=-1;pozf=-1;ok2=0;
	  for(i=1;i<=n;++i)
	  {s[i]=0;
		  if(da[i]==0)
			  {if(v[i]<=v[i]+s[i-1])
					 {s[i]=v[i];
					  o[i]=i;
					 }
				 else
					 {s[i]=v[i]+s[i-1];
					  o[i]=o[i-1];
					 }
			   if((s[i]<min1)||(pozs==-1))
				   {min1=s[i];
					pozs=o[i];
					pozf=i;
				   }
			   ok2=1;
			  }
	  }
	 if(ok2==1)
		 fprintf(fout,"%d %d %d\n",min1,pozs,pozf);
	 for(i=pozs;i<=pozf;++i)
		 da[i]=1;
	 if(ok2==0)
		 ok=1;
		 
	   
	 }
 return 0;
}