Cod sursa(job #696688)
| Utilizator | Data | 28 februarie 2012 19:38:16 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <fstream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
long n, k, i, first, last, begin, a[60000], sum, s[60000], sol;
int main()
{
f>>n>>k;
for(i=1; i<=n; ++i)
{
f>>a[i];
s[i]=s[i-1]+a[i];
}
sum=s[k];
first=1;
last=k;
sol=s[k];
begin=0;
for(i=k+1; i<=n; ++i)
{
sol+=a[i];
if(sol<=s[i]-s[begin])
{
sol=s[i]-s[begin];
begin=i-k+1;
}
if(sol>=sum && i-begin+1>=k)
{
sum=sol;
first=begin;
last=i;
}
}
g<<first<<" "<<last<<" "<<sum<<"\n";
}
