Cod sursa(job #3333938)
| Utilizator | Data | 15 ianuarie 2026 16:56:09 | |
|---|---|---|---|
| Problema | Deque | Scor | 25 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream cin ("deque.in");
ofstream cout ("deque.out");
struct numar{
int val;
int poz;
};
int s,n,x,k;
numar nr;
deque<numar>mydeq;
int main()
{
cin>>n>>k;
for (int i=1;i<=n;i++)
{
cin>>x;
while (!mydeq.empty() && mydeq.front().poz<i-k+1)
mydeq.pop_front();
while (!mydeq.empty() && x<mydeq.back().val)
mydeq.pop_back();
nr.poz=i;
nr.val=x;
mydeq.push_back(nr);
if (i>=k)
s+=mydeq.front().val;
}
cout<<s;
return 0;
}
