Cod sursa(job #393313)

Utilizator bora_marianBora marian bora_marian Data 9 februarie 2010 10:45:47
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>
using namespace std;
int v[400005];
int n,nr;
int main()
{
    ifstream fin("buline.in");
    fin>>n;
    int i;
    for(i=1;i<=n;i++)
     {
         int a,b;
         fin>>a>>b;
         if(b==0)
          v[++nr]=-a;
         else
          v[++nr]=a;
    }
    for(i=1;i<n;i++)
       v[++nr]=v[i];
   int sum,summax=-1000000,index,istart,istop;
   sum=v[1];
   istart=1;
   istop=1;
   index=1;
   for(i=2;i<=nr;i++)
   {
     if(sum<0)
      sum=v[i],index=i;
     else
      sum+=v[i];
     if(sum>summax)
      if(i-index<n)
      summax=sum,istart=index,istop=i;
   }
 ofstream fout("buline.out");
 fout<<summax<<" "<<istart<<" "<<istop-istart+1;
return 0;
}