Cod sursa(job #1450207)
| Utilizator | Data | 11 iunie 2015 20:52:39 | |
|---|---|---|---|
| Problema | Deque | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <fstream>
#include <queue>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
deque <int> q = deque <int> ();
int n,i,m,mini,poz,a,j;
long long s;
int main()
{
f>>n>>m; poz=-1;
for(i=1;i<=n;i++)
{
f>>a;
q.push_back(a);
if(i>=m)
{
if(poz<0)
{
mini=32232332;
for(j=0;j<m;j++) if(mini>q[j]) {mini=q[j]; poz=j;}
}
else if(mini>q[m-1]) {mini=q[m-1]; poz=m-1;}
s=(long long)(s+mini);
poz--;
q.pop_front();
}
}
g<<s;
g.close();
return 0;
}
