Pagini recente » Cod sursa (job #663703) | Cod sursa (job #250888) | Cod sursa (job #1544052) | Cod sursa (job #1945381) | Cod sursa (job #535237)
Cod sursa(job #535237)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream citire("buline.in");
ofstream scriere("buline.out");
int N,i,semn,Suma_maxima=0,Suma_curenta,x,y,j;
citire>>N;
int buline[N];
for(i=0;i<N;i++)
{
citire>>buline[i]>>semn;
if(semn==0)
{
buline[i]=buline[i]*-1;
}
//cout<<buline[i]<<" ";
Suma_maxima=Suma_maxima+buline[i];
}
//cout<<Suma_maxima;
int t,t_min=N+1;
int L,L_min=N+1;
x=Suma_maxima;
for(i=0;i<N;i++)
{
L=N;
Suma_curenta=x-buline[i];
if(Suma_maxima<Suma_curenta)
{
Suma_maxima=Suma_curenta;
L--;
if(L<L_min)
{
L_min=L;
if(i+1<t_min)
t_min=i+1;
}
}
cout<<Suma_curenta<<" ";
for(j=0;j<N-1;j++)
{
Suma_curenta=x;
int z=i;
for(y=0;y<j;y++)
{
Suma_curenta=Suma_curenta-buline[z];
z++;
if(z=N+1)
{
z=1;
}
}
if(Suma_maxima<Suma_curenta)
{
Suma_maxima=Suma_curenta;
L--;
if(L<L_min)
{
L_min=L;
if(i+1<t_min)
t_min=i+1;
}
}
for(y=0;y<j;y++)
{
Suma_curenta=Suma_curenta-buline[z];
z--;
if(z=0)
{
z=N;
}
}
if(Suma_maxima<Suma_curenta)
{
Suma_maxima=Suma_curenta;
L--;
if(L<L_min)
{
L_min=L;
if(i+1<t_min)
t_min=i+1;
}
}
}
}
scriere<<Suma_maxima<<" "<<t_min<<" "<<L_min;
}