답안 #597484

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
597484 2022-07-16T06:15:12 Z kabika Garage (IOI09_garage) C++14
100 / 100
1 ms 340 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define a first
#define b second

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n, m;
    cin >> n >> m;
    vector<int> pr(n,0), wt(m+1,0);
    for(int i = 0; i < n; ++i)
        cin >> pr[i];
    for(int i = 1; i <= m; ++i)
        cin >> wt[i];
    
    vector<int> prk(m+1,0);//which parking the car is in
    vector<bool> fl(n,0);//is the parking filled
    queue<int> q;
    int rev = 0;
    for(int i = 0; i < 2*m; ++i)
    {
        int cr;
        cin >> cr;
        
        if(cr > 0)
        {
            auto it = find(fl.begin(),fl.end(),0);
            if(it == fl.end())
                q.push(cr);
            else
            {
                int j = it - fl.begin();
                prk[cr] = j;
                fl[j] = 1;
                rev += wt[cr]*pr[j];
            }
        }
        
        if(cr < 0)
        {
            cr = -cr;
            int j = prk[cr];
            prk[cr] = 0;
            fl[j] = 0;
            if(!q.empty())
            {
                int tp = q.front();
                q.pop();
                prk[tp] = j;
                fl[j] = 1;
                rev += wt[tp]*pr[j];
            }
        }
    }
    cout << rev << '\n';
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 316 KB Output is correct
3 Correct 0 ms 324 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 292 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 1 ms 340 KB Output is correct
16 Correct 1 ms 332 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 1 ms 340 KB Output is correct
20 Correct 1 ms 340 KB Output is correct