Cod sursa(job #1725722)
| Utilizator | Data | 6 iulie 2016 12:19:07 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include<iostream>
#include<fstream>
#include<queue>
using namespace std;
int v[50005],l1,l2,sol,i,n,k;
deque<int> q;
int main()
{
ifstream cin("secv2.in");
ofstream cout("secv2.out");
cin>>n>>k;
for(i=1;i<=n;i++)
{
cin>>v[i];
v[i]+=v[i-1];
}
sol=-100000000000;
for(i=k;i<=n;i++)
{
while(!q.empty()&&v[i-k]<v[q.back()])
q.pop_back();
q.push_back(i-k);
if(v[i]-v[q.front()]>sol)
{
l1=q.front();
l2=i;
sol=v[l2]-v[l1];
}
}
cout<<l1+1<<" "<<l2<<" "<<sol;
return 0;
}
