Pagini recente » Cod sursa (job #719895) | Cod sursa (job #724462)
Cod sursa(job #724462)
#include <cstdio>
#include <deque>
#include <iostream>
using namespace std;
int n,k;
long long s;
deque <int>v;
deque <int>p;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d %d\n",&n,&k);
for(int i=1;i<=k;i++)
{
int x;
scanf("%d\n",&x);
while(!v.empty()&&x<v.back())
{
p.pop_back();
v.pop_back();
}
v.push_back(x);
p.push_back(i);
}
for(int i=k+1;i<=n;i++)
{
int x;
scanf("%d\n",&x);
if(p.front()<i-k)
{
v.pop_front();
p.pop_front();
}
s+=v.front();
while(!v.empty()&&x<v.back())
{
v.pop_back();
p.pop_back();
}
v.push_back(x);
p.push_back(i);
}
if(p.front()<=n-k)
{
v.pop_front();
p.pop_front();
}
s+=v.front();
printf("%lld\n%d",s,p.front());
return 0;
}