Pagini recente » Cod sursa (job #2844848) | Cod sursa (job #75855) | Cod sursa (job #1716659) | Cod sursa (job #1517253) | Cod sursa (job #850958)
Cod sursa(job #850958)
////var I
//#include <fstream>
//#define NMax 60003
//using namespace std;
//ifstream f("secv2.in");
//ofstream g("secv2.out");
//int i,j,n,m,k,maxi,s,pi,pf,a[NMax],vmax[NMax],pmax[NMax],sum[NMax];
//int main()
//{
// f>>n>>k;
// for( i=1; i<=n; i++)f>>a[i];
// for (i=1; i<=n; i++)sum[i]=sum[i-1]+a[i];
// maxi=-2000000000;
// for (i=n; i>=1; i--){
// if(maxi<=sum[i]){ maxi=sum[i]; vmax[i]=maxi; pmax[i]=i; }
// else {vmax[i]=maxi;pmax[i]=pmax[i+1];}
// }
// maxi=-200000000;
// for (i=1; i<=n-k+1; i++)
// if(vmax[i+k-1]-sum[i-1]>maxi)
// {maxi=vmax[i+k-1]-sum[i-1];pi=i;pf=pmax[i+k-1];}
// g<<pi<<" "<<pf<<" "<<maxi<<'\n';
// return 0;
//}
//var II
#include<fstream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n,k,x,poz,maxi,mini,pf,pi,i,a[50003];
int main()
{ f>>n>>k;
for(i=1;i<=n;i++){
f>>x;
a[i]=a[i-1]+x;
}
maxi=-10000000,mini=10000000;
for(i=k;i<=n;i++){
if(mini>a[i-k]){
mini=a[i-k]; poz=i-k+1;
}
if(maxi<a[i]-mini){
maxi=a[i]-mini;
pi=poz;
pf=i;
}
}
g<<pi<<" "<<pf<<" "<<maxi<<'\n';
return 0;
}