Mai intai trebuie sa te autentifici.
Cod sursa(job #2013203)
Utilizator | Data | 20 august 2017 19:43:43 | |
---|---|---|---|
Problema | Buline | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.78 kb |
#include<fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
long long sum, n,rez,a, poz1, poz2, pozz=1;
long long v[400002],b;
long long max1,pz;
int main()
{
f>>n;
rez=-n*10001;
for(int i=1;i<=n;++i)
{
f>>a>>b;
if(b==0)
a=-a;
v[i]=a,v[n+i]=v[i];
if(a>max1)
max1=a,pz=i;
}
for(int i=1;i<=2*n;++i)
v[i]+=v[i-1];
int st=1;
for (int i = 1; i <=2* n; i++)
{
if(i-st==n)
++st;
if (v[i]-v[st-1] < 0)
st = i;
if (v[i]-v[st-1]>rez)
{
rez = v[i]-v[st-1];
poz1 = st;
poz2 = i;
}
}
g<<rez<<" "<<poz1<<" "<<poz2-poz1+1;
return 0;
}