Submission #292479

#TimeUsernameProblemLanguageResultExecution timeMemory
292479shrek12357Go (COCI18_go)C++14
40 / 100
1 ms384 KiB
#include <iostream> #include <vector> #include <algorithm> #include <string> #include <map> #include <set> #include <climits> #include <cmath> #include <fstream> #include <queue> using namespace std; struct p { int a; int b; int t; }; int main() { int n, m, z; cin >> n >> m >> z; vector<p> pokeL, pokeR; pokeL.push_back({ m, 0, 2005 }); pokeR.push_back({ m, 0, 2005 }); for (int i = 0; i < z; i++) { int a, b, c; cin >> a >> b >> c; if (a <= m) { pokeL.push_back({ a, b, c }); } else { pokeR.push_back({ a, b, c }); } } int best = 0; for (int i = 0; i < pokeR.size(); i++) { for (int j = 0; j < pokeL.size(); j++) { bool ok = false; int time = 2 * (m - pokeL[j].a); int cur = 0; for (int k = 0; k <= j; k++) { if (m - pokeL[k].a < pokeL[k].t) { cur += pokeL[k].b; } } for (int k = 0; k <= i; k++) { if (pokeR[k].a - m + time < pokeR[k].t) { cur += pokeR[k].b; if (k == i) { ok = true; } } } if (ok) { best = max(best, cur); } } } for (int i = 0; i < pokeL.size(); i++) { for (int j = 0; j < pokeR.size(); j++) { bool ok = false; int time = 2 * (pokeR[j].a - m); int cur = 0; for (int k = 0; k <= j; k++) { if (pokeR[k].a - m < pokeR[k].t) { cur += pokeR[k].b; } } for (int k = 0; k <= i; k++) { if (m - pokeL[k].a + time < pokeL[k].t) { cur += pokeL[k].b; if (k == i) { ok = true; } } } if (ok) { best = max(best, cur); } } } cout << best << endl; }

Compilation message (stderr)

go.cpp: In function 'int main()':
go.cpp:37:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<p>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |  for (int i = 0; i < pokeR.size(); i++) {
      |                  ~~^~~~~~~~~~~~~~
go.cpp:38:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<p>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |   for (int j = 0; j < pokeL.size(); j++) {
      |                   ~~^~~~~~~~~~~~~~
go.cpp:60:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<p>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |  for (int i = 0; i < pokeL.size(); i++) {
      |                  ~~^~~~~~~~~~~~~~
go.cpp:61:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<p>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |   for (int j = 0; j < pokeR.size(); j++) {
      |                   ~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...