Cod sursa(job #1810840)
Utilizator | Draghici Razvan razvandraghici | Data | 20 noiembrie 2016 16:59:11 |
---|---|---|---|
Problema | Secventa 2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.02 kb |
#include <fstream>
using namespace std;
ifstream fin ("secv2.in");
ofstream fout("secv2.out");
long long soli, solf, i, j, s, maxim=-2000000000, pozi, pozf, nr, k, n, v[50010], st, dr;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>v[i];
s+=v[i];
if(i==k){
maxim=s;
soli=1;
solf=k;
}
if(i>k){
s=s-v[i-k];
if(s>maxim){
maxim=s;
soli=i-k+1;
solf=i;
}
}
}
s=v[1];
nr=1;
pozi=1;
pozf=1;
for(i=2;i<=n;i++){
if(s+v[i]>v[i]){
s+=v[i];
nr++;
pozf++;
if(nr>=k && s>maxim){
maxim=s;
soli=pozi;
solf=pozf;
}
}
else{
pozi=i;
pozf=i;
nr=1;
s=v[i];
}
}
fout<<soli<<" "<<solf<<" "<<maxim;
return 0;
}