Pagini recente » Cod sursa (job #1196479) | Cod sursa (job #1335210) | Cod sursa (job #1555848) | Cod sursa (job #241633) | Cod sursa (job #2685976)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "buline.in" );
ofstream fout( "buline.out" );
const int NMAX = 2e5;
int v[NMAX * 2 + 1];
int main() {
int n, i, stpos, sum, rezsol, rezcnt, maxx, x, cnt;
fin >> n;
for( i = 0; i < n; ++i ){
fin >> v[i] >> x;
if( x == 0 )
v[i] = -v[i];
}
for( i = n; i < 2 * n; ++i )
v[i] = v[i - n];
sum = stpos = 0;
rezsol = rezcnt = maxx = 0;
cnt = 0;
for( i = 0; i < 2 * n; ++i ){
if( cnt == n ){
sum -= v[stpos++];
--cnt;
}
//cout << sum << "\n";
sum += v[i];
++cnt;
if( sum < 0 ){
sum = 0;
stpos = i + 1;
cnt = 0;
}
if( maxx < sum ){
maxx = sum;
rezsol = (stpos % n);
rezcnt = cnt;
}
}
fout << maxx << " " << rezsol + 1 << " " << rezcnt;
return 0;
}