Cod sursa(job #1231432)
| Utilizator | Data | 20 septembrie 2014 16:59:41 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
#define Inf 0x3f3f3f3f
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
long n,i,a[50001],sum[50001],best[50001],bestSum,min0,j,ii,ji,k;
int main()
{
f>>n;
f>>k;
sum[0]=0;
for(i=1;i<=n;i++)
{
f>>a[i];
sum[i]=a[i]+sum[i-1];
}
min0=sum[0];
bestSum=-Inf;
for(i=1;i<=n;i++)
{
best[i]=sum[i]-min0;
if(sum[i]<=min0) {min0=sum[i]; j=i+1;}
if(bestSum<=best[i]&&(i-j>=k))
{bestSum=best[i];
ii=i;
ji=j;}
}
g<<ji<<" "<<ii<<" "<<bestSum;
return 0;
}
