Cod sursa(job #1123313)

Utilizator alexteStefanescu Alexandru Catalin alexte Data 26 februarie 2014 00:27:11
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
int n,k,i,x[5000003],m,s,p;
using namespace std;
struct coada
{
    int x,poz;
} c[5000003];
int main()
{
    ifstream fin("deque.in");
    ofstream fout("deque.out");
    fin>>n>>k;
    for(i=1;i<=n;++i)
    {
        fin>>x[i];
    }
    m=1;
    c[m].x=x[1];
    c[m].poz=1;
    for(i=2;i<=k;i++)
    {
    while(m>0&&c[m].x>x[i])
        m--;
    m++;
    c[m].x=x[i];
    c[m].poz=i;
    }
    s=c[1].x;
    p=1;
    for(i=k+1;i<=n;i++)
    {
        if(c[p].poz==i-k) p++; //aici era gresit am scris pe tabla > in loc de <
        while(m>=p&&c[m].x>x[i]) m--;
        m++;
        c[m].x=x[i];
        c[m].poz=i;
        s=s+c[p].x;
    }
fout<<s<<'\n';
fout.close();
return 0;
}