Pagini recente » Cod sursa (job #2600576) | Rotatie lexicografic minima | Cod sursa (job #2043269) | Cod sursa (job #609271) | Cod sursa (job #3243094)
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
long long n,r,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-k+1;i++){
r=0;
for(int j=i;j<=i+k-1;j++){
r+=v[j];
}
if(r<maxi){
maxi=r;
start=i;
final=i+k-1;
}
}
fout<<start<<" "<<final<<" "<<-maxi;
}
else{
fout<<start<<" "<<final<<" "<<maxi;
}
return 0;
}