Pagini recente » Cod sursa (job #1135014) | Cod sursa (job #2010527) | Cod sursa (job #2219655) | Cod sursa (job #2808060) | Cod sursa (job #2109044)
#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;
long long s, maxim = -INF;
int main()
{
f>>n;
for(int i = 1; i <= n; ++ i){
f>>v[i]>>tip;
if(!tip)
v[i] = -v[i];
}
int s = 0;
for(int i = 1; i <= n; ++ i){
if(s < 0){
s = v[i];
p = i;
nr = 1;
}
else{
s += v[i];
++ nr;
}
if(s > maxim || (s == maxim && nr > nr_max)){
maxim = s;
poz_max = p;
nr_max = nr;
}
}
int i = 1;
while(s > 0 && i < p){
s += v[i];
++ nr;
if(s > maxim || (s == maxim && nr > nr_max)){
maxim = s;
poz_max = p;
nr_max = nr;
}
++ i;
}
g<<maxim<<" "<<poz_max<<" "<<nr_max;
return 0;
}