Pagini recente » Cod sursa (job #1339179) | Cod sursa (job #3202485) | Cod sursa (job #56849) | Cod sursa (job #2120394) | Cod sursa (job #2115834)
#include <bits/stdc++.h>
using namespace std;
ifstream in("buline.in");
ofstream out("buline.out");
int n, culoare, maxim, max_final, p, poz, l;
int v[400005];
int main()
{
in>>n;
for( int i = 1; i <= n; i++ )
{
in>>v[i]>>culoare;
if( culoare == 0 )
v[i] = (-1)*v[i];
}
for( int i = 1; i < n; i++ )
v[n + i] = v[i];
for( int i = 1; i <= n; i++ )
{
maxim = v[i];
p = i;
for( int j = i + 1; j <= n + i - 1; j++ )
{
if( v[j] < v[j] + maxim )
maxim = v[j] + maxim;
else
maxim = v[j], p = j;
if( max_final < maxim )
{
max_final = maxim;
poz = p;
l = j - p + 1;
}
}
}
out<<max_final<<" "<<poz<<" "<<l;
return 0;
}