Submission #308760

#TimeUsernameProblemLanguageResultExecution timeMemory
308760shrek12357Go (COCI18_go)C++14
90 / 100
1 ms256 KiB
#include <iostream> #include <vector> #include <algorithm> #include <string> #include <map> #include <set> #include <climits> #include <cmath> #include <fstream> #include <queue> #include <stack> using namespace std; #define ll long long //cin.tie(0); //ios_base::sync_with_stdio(0); struct p { int room; int candy; int time; }; bool comp(p a, p b) { return a.room < b.room; } int n, d, m; vector<p> nums; int LCalc(int i, int j, int idx) { int tot = 0; int LTime = d - nums[i].room; for (int k = idx; k >= i; k--) { int t = (d - nums[k].room); if (nums[k].time > t) { tot += nums[k].candy; } } for (int k = idx; k <= j; k++) { int t = 2*LTime - 1 + nums[k].room - d; if (nums[k].time > t) { tot += nums[k].candy; } } return tot; } int RCalc(int i, int j, int idx) { int tot = 0; int RTime = nums[j].room - d; for (int k = idx; k <= j; k++) { int t = (nums[k].room - d); if (nums[k].time > t) { tot += nums[k].candy; } } for (int k = idx; k >= i; k--) { int t = 2*RTime - 1 + d - nums[k].room; if (nums[k].time > t) { tot += nums[k].candy; } } return tot; } int main() { cin >> n >> d >> m; nums.push_back({ d, 0, 0 }); for (int i = 0; i < m; i++) { int a, b, c; cin >> a >> b >> c; nums.push_back({ a, b, c }); } m++; sort(nums.begin(), nums.end(), comp); int idx = 0; p c = { d, 0, 0 }; for (int i = 0; i < m; i++) { if (nums[i].room == d && nums[i].candy == 0) { idx = i; } } int best = 0; for (int i = idx; i >= 0; i--) { for (int j = idx; j < m; j++) { int totL = 0, totR = 0; int LTime = d - nums[i].room, RTime = nums[j].room - d; best = max(LCalc(i, j, idx), best); best = max(RCalc(i, j, idx), best); } } cout << best << endl; }

Compilation message (stderr)

go.cpp: In function 'int main()':
go.cpp:90:8: warning: unused variable 'totL' [-Wunused-variable]
   90 |    int totL = 0, totR = 0;
      |        ^~~~
go.cpp:90:18: warning: unused variable 'totR' [-Wunused-variable]
   90 |    int totL = 0, totR = 0;
      |                  ^~~~
go.cpp:91:8: warning: unused variable 'LTime' [-Wunused-variable]
   91 |    int LTime = d - nums[i].room, RTime = nums[j].room - d;
      |        ^~~~~
go.cpp:91:34: warning: unused variable 'RTime' [-Wunused-variable]
   91 |    int LTime = d - nums[i].room, RTime = nums[j].room - d;
      |                                  ^~~~~
go.cpp:81:4: warning: unused variable 'c' [-Wunused-variable]
   81 |  p c = { d, 0, 0 };
      |    ^
#Verdict Execution timeMemoryGrader output
Fetching results...