Pagini recente » Cod sursa (job #2820356) | Cod sursa (job #3143154) | Cod sursa (job #123249) | Cod sursa (job #1573862) | Cod sursa (job #2685975)
#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) % n;
cnt = 0;
}
if( maxx < sum ){
maxx = sum;
rezsol = stpos;
rezcnt = cnt;
}
}
fout << maxx << " " << rezsol + 1 << " " << rezcnt;
return 0;
}