Pagini recente » Cod sursa (job #1273503) | Cod sursa (job #1409844) | Diferente pentru autumn-warmup-2007/solutii/runda-2 intre reviziile 56 si 39 | Cod sursa (job #2002805) | Cod sursa (job #3243090)
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
long long n,maxi=-1250000001,start=1,final=1,suma,poz,k,cnt=1,v[50001];
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++){
fin>>v[i];
if(suma+v[i]>=v[i]){
suma+=v[i];
cnt++;
}
else{
poz=i;
suma=v[i];
cnt=1;
}
if(suma>maxi && cnt>=k){
maxi=suma;
start=poz;
final=i;
}
}
if(maxi==-1250000001){
for(int i=1;i<=n;i++){
v[i]=-v[i];
}
maxi=1250000001;
for(int i=1;i<=n-2;i++){
if((v[i]+v[i+1]+v[i+2])<maxi){
maxi=v[i]+v[i+1]+v[i+2];
start=i;
final=i+2;
}
}
fout<<start<<" "<<final<<" "<<-maxi;
}
else{
fout<<start<<" "<<final<<" "<<maxi;
}
return 0;
}