Pagini recente » Cod sursa (job #2320191) | Cod sursa (job #387150) | Cod sursa (job #2099326) | Cod sursa (job #1907804) | Cod sursa (job #2109059)
#include <fstream>
#define INF 1e18
#define DIM 200002
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int n, p, nr, poz_max, nr_max, v[DIM], tip;
int s, maxim;
int main()
{
f>>n;
for(int i = 1; i <= n; ++ i){
f>>v[i]>>tip;
if(!tip)
v[i] = -v[i];
}
int s = 0;
p = 1;
nr = 1;
s = v[1];
maxim = s;
nr_max = nr;
poz_max = p;
for(int i = 2; i <= n; ++ i){
if(s < 0){
s = v[i];
p = i;
nr = 1;
}
else{
s += v[i];
++ nr;
}
if(s > maxim){
maxim = s;
poz_max = p;
nr_max = nr;
}
}
int i = 1;
while(s >= 0 && i < p){
s += v[i];
++ nr;
if(s > maxim){
maxim = s;
poz_max = p;
nr_max = nr;
}
++ i;
}
g<<maxim<<" "<<poz_max<<" "<<nr_max;
return 0;
}