Cod sursa(job #2413299)
| Utilizator | Data | 23 aprilie 2019 11:45:23 | |
|---|---|---|---|
| Problema | Buline | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
long long n,i,x,val,poz,ii,iii,maxi,s, v[500000];
int main()
{
f>>n;
for (i=1; i<=n; i++) {
f>>v[i]>>val;
if (!val) v[i]=-v[i];
v[i+n]=v[i];
}
for (i=1; i<=2*n; i++) {
x=v[i];
if ( x > s+x){
poz=i;
s=0;
}
s += x;
if (i-poz == n){
s-=v[poz];
poz++;
}
if ( s > maxi ){
ii=poz;
maxi=s;
iii=i;
}
}
g<<maxi<<" "<<ii<<" "<<iii-ii+1;
return 0;
}