Cod sursa(job #2729027)

Utilizator bogdan2405Strat Bogdan-Valentin bogdan2405 Data 23 martie 2021 23:51:20
Problema Deque Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.39 kb
#include <iostream>
#include<fstream>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");
 
struct element{
    int pozitie, valoare;
}v[5000001];

int main(){
    int i,j,n,k,poz,d=0,a,count=0,ok=0;
    f>>n>>k;
    //element deq[k];
    long long suma=0;
    f>>a;
    v[0].pozitie=0;
    v[0].valoare=a;
    count++;
    for(i=1;i<n;i++){
        f>>a;  
        v[++d].pozitie=i;
        v[d].valoare=a;
        count++;
        for(j=0;j<d;j++){
            
            
            if(v[d].valoare<v[j].valoare){
                poz=j;
                ok=1;
                d=poz;
        v[d].valoare=a;
        v[d].pozitie=i;
                break;
                //cout<<v[d-1].valoare<<" "<<v[j].valoare<<endl;
                //swap(v[j],v[d-1]);
                //cout<<j<<"   ";
                
            }
            
        }
        /*if(ok==1){
            
        }
        ok=0;*/
        
        
        if(v[0].pozitie<=(i-k)){
            for(j=0;j<=d;j++){
                v[j].valoare=v[j+1].valoare;
                v[j].pozitie=v[j+1].pozitie;
            }
               
            --d;
        }
        if(count>=k)
            {suma=suma+v[0].valoare;
        //cout<<v[0].valoare<<"           ";
        }
        /*for(j=0;j<=n;j++)
            cout<<v[j].valoare<<" ";
        cout<<endl;*/
        
    }
    ///cout<<endl;
    g<<suma;
    return 0;
}