Pagini recente » Cod sursa (job #987158) | Cod sursa (job #497870) | Cod sursa (job #2461807) | Cod sursa (job #99070) | Cod sursa (job #848707)
Cod sursa(job #848707)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream in ("buline.in");
ofstream out ("buline.out");
int V[400010];
bool Viz[400010];
int main ()
{
int N, i, Sum = 0, Best, idx = 1, L, St, Dr;
bool bila;
in >> N;
for (i = 1; i <= N; i ++){
in >> V[i] >> bila;
if (!bila)
V[i] = ~V[i] + 1;
V[N + i] = V[i];
}
Best = V[1];
St = 1;
Dr = 1;
//for (i = 1; i <= (N << 1); i ++)
//cout << V[i] << " ";
for (i = 1; i <= (N << 1); i ++){
if (i > N && i - N == idx)
break;
if (Sum > 0)
Sum += V[i];
else{
Sum = V[i];
idx = i;
}
if (Sum > Best)
Best = Sum, St = idx, Dr = i;
}
out << Best << " " << St << " " << Dr - St + 1;
return 0;
}