Pagini recente » Cod sursa (job #938758) | Cod sursa (job #2651347) | Cod sursa (job #3003565) | Cod sursa (job #1568471) | Cod sursa (job #2116518)
#include <fstream>
using namespace std;
int n, i, maxim, suma, sol1, p, L;
short culoare, nr, s[400005];
ifstream fin("buline.in");
ofstream fout("buline.out");
int main(){
fin>>n;
for(i=1;i<=n;i++){
fin>>nr>>culoare;
if(culoare == 0)
s[i] = nr*(-1);
else
s[i] = nr;
if(i!=n)
s[i+n] = s[i];
}
maxim = suma = s[1];
p = 1;
for(i=2;i<2*n;i++){
if(suma >= 0)
suma += s[i];
else
suma = s[i], p = i;
if(suma > maxim){
maxim = suma;
sol1 = p;
L = i-p+1;
if(sol1 > n)
sol1-=n;
}
}
fout<<maxim<<" "<<sol1<<" "<<L;
return 0;
}