Cod sursa(job #1074785)
| Utilizator | Data | 7 ianuarie 2014 22:51:40 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.03 kb |
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int s[50001];
int n,maxx = -26000,k,L,l;
int main()
{
int x;
fin>>n>>k;
fin>>x;
s[1] = x;
for(int i=2 ; i<=n ; i++)
{
fin>>x;
if(s[i-1] + x > x )
{
s[i] = s[i-1]+x;
if(s[i] > maxx)
{
L=i,maxx=s[i];
int j=i-1;
while(s[j]>=0 && j>0)j--;
j+=1;
int k2 = L-j-1;
if(k2>=k)
l=j;
}
}
else
{
s[i] = x;
if(s[i] > maxx)
{
L=i,maxx=s[i];
int j=i-1;
while(s[j]>=0 && j>0)j--;
j+=1;
int k2 = L-j-1;
if(k2>=k)
l=j;
}
}
}
fout<<l<<" "<<L<<" "<<maxx;
fin.close();
fout.close();
return 0;
}
