Submission #198704

#TimeUsernameProblemLanguageResultExecution timeMemory
198704SamAndGarage (IOI09_garage)C++17
100 / 100
7 ms376 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 102, M = 2003;

int n, m;
int r[N], w[M];

int u[M];

int main()
{
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= n; ++i)
        scanf("%d", &r[i]);
    for (int i = 1; i <= m; ++i)
        scanf("%d", &w[i]);
    int ans = 0;
    queue<int> q;
    set<int> s;
    for (int i = 1; i <= n; ++i)
        s.insert(i);
    for (int ii = 0; ii < m * 2; ++ii)
    {
        int i;
        scanf("%d", &i);
        if (i > 0)
        {
            if (!s.empty())
            {
                u[i] = (*s.begin());
                s.erase(u[i]);
                ans += w[i] * r[u[i]];
            }
            else
                q.push(i);
        }
        else
        {
            i *= -1;
            s.insert(u[i]);
            while (!q.empty() && !s.empty())
            {
                int i = q.front();
                q.pop();
                u[i] = (*s.begin());
                s.erase(u[i]);
                ans += w[i]* r[u[i]];
            }
        }
    }
    printf("%d\n", ans);
    return 0;
}

Compilation message (stderr)

garage.cpp: In function 'int main()':
garage.cpp:12:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &m);
     ~~~~~^~~~~~~~~~~~~~~~
garage.cpp:14:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &r[i]);
         ~~~~~^~~~~~~~~~~~~
garage.cpp:16:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &w[i]);
         ~~~~~^~~~~~~~~~~~~
garage.cpp:25:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &i);
         ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...