Submission #119081

#TimeUsernameProblemLanguageResultExecution timeMemory
119081BruteforcemanCambridge (info1cup18_cambridge)C++11
30 / 100
2067 ms1984 KiB
#include "bits/stdc++.h" using namespace std; typedef pair <int, int> pii; int t[100010], d[100010]; int opt[100010]; int query(int x, int y) { vector <pii> v; for(int i = x; i <= y; i++) { v.emplace_back(d[i], t[i]); } sort(v.begin(), v.end()); long long sum = 0; for(int i = 0; i < v.size(); i++) { sum += v[i].second; if(sum >= v[i].first) { return false; } } return true; } int main(int argc, char const *argv[]) { int n, m; scanf("%d %d", &n, &m); for(int i = 1; i <= n; i++) { scanf("%d %d", &t[i], &d[i]); } int cur = n; for(int i = n; i >= 1; i--) { while(cur >= i && !query(i, cur)) { --cur; } opt[i] = cur; } while(m--) { int p, q; scanf("%d %d", &p, &q); printf("%d\n", (opt[p] >= q)); } return 0; }

Compilation message (stderr)

cambridge.cpp: In function 'int query(int, int)':
cambridge.cpp:14:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < v.size(); i++) {
                 ~~^~~~~~~~~~
cambridge.cpp: In function 'int main(int, const char**)':
cambridge.cpp:26:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~~
cambridge.cpp:28:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &t[i], &d[i]);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
cambridge.cpp:39:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &p, &q);
   ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...