제출 #1177569

#제출 시각아이디문제언어결과실행 시간메모리
1177569AlgorithmWarriorGarage (IOI09_garage)C++20
100 / 100
1 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

int parcare[105];
queue<int>coada;
int n,m;
int cost[105],kg[2005];
int total;

void read(){
    int i;
    cin>>n>>m;
    for(i=1;i<=n;++i)
        cin>>cost[i];
    for(i=1;i<=m;++i)
        cin>>kg[i];
}

void insert_car(int id){
    int pos;
    for(pos=1;parcare[pos];++pos);
    if(pos<=n){
        parcare[pos]=id;
        total+=kg[id]*cost[pos];
    }
    else
        coada.push(id);
}

void erase_car(int id){
    int pos;
    for(pos=1;parcare[pos]!=id;++pos);
    parcare[pos]=0;
    if(!coada.empty()){
        insert_car(coada.front());
        coada.pop();
    }
}

void process_queries(){
    int i;
    for(i=1;i<=2*m;++i){
        int id;
        cin>>id;
        if(id>0)
            insert_car(id);
        else
            erase_car(-id);
    }
}

int main()
{
    read();
    process_queries();
    cout<<total;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...