Pagini recente » Cod sursa (job #2948768) | Cod sursa (job #978207) | Cod sursa (job #2711753) | Cod sursa (job #592597) | Cod sursa (job #3287271)
#include <fstream>
using namespace std;
ifstream in("buline.in");
ofstream out("buline.out");
const int sizee = 200000;
int n, val, type, v[sizee + 2];
int summy, rg, lf, __lf;
int smax = -(1 << 30);
int main(){
in>>n;
for(int i = 1; i <= n; i++){
in>>val>>type;
val *= (type ? 1 : -1);
v[i] = val; v[i + n] = val;
}
for(int i = 1; i <= n; i++){
summy += v[i];
if(summy < 0)
__lf = i + 1, summy = 0;
if(summy > smax)
lf = __lf, rg = i, smax = summy;
}
int limit = lf;
for(int i = 1; i < limit; i++){
summy += v[i];
if(summy < 0) break;
if(summy > smax)
rg = n + i, smax = summy;
}
out<<smax<<" "<<lf<<" "<<rg - lf + 1<<"\n";
return 0;
}