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...