Pagini recente » Profil PetrescuRobert | Cod sursa (job #2070192) | Cod sursa (job #1793965) | Cod sursa (job #1811291) | Cod sursa (job #1184967)
#include<fstream>
using namespace std;
ifstream fin( "buline.in" );
ofstream fout( "buline.out" );
const int nmax = 200000;
int v[ 2 * nmax + 1 ];
int main() {
int n, sol, y, x, s, p, l;
fin>>n;
for( int i = 1; i <= n; ++ i ) {
fin>>y>>x;
if ( x == 0 ) {
v[ i ] = v[ i + n ] = -y;
} else {
v[ i ] = v[ i + n ] = y;
}
}
s = sol = -1<<30;
x = y = 0;
for( int i = 1; i <= 2 * n; ++ i ) {
++ y;
s += v[ i ];
if ( s <= 0 || y > n ) {
s = v[ i ]; x = i; y = 1;
}
if ( s > sol ) {
sol = s;
p = x;
l = y;
}
}
fout<<sol<<' '<<p<<' '<<l<<'\n';
fin.close();
fout.close();
return 0;
}