Submission #1290059

#TimeUsernameProblemLanguageResultExecution timeMemory
1290059vpinx나일강 (IOI24_nile)C++20
Compilation error
0 ms0 KiB
#include "nile.h" #include <bits/stdc++.h> using namespace std; vector<long long> calculate_costs(vector<int> w, vector<int> a, vector<int> b, vector<int> e) { long long n = w.size(), mx = 0; vector<pair<int, int>> v(n); for (int i = 0; i < n; i++) { v[i] = {w[i], a[i] - b[i]}; mx += a[i]; } sort(v.begin(), v.end()); auto op = [&](vector<pair<int, int>> &c, int sm) -> long long { long long sum = 0; for (int i = 0; i < c.size(); i++) sum += c[i].second; if ((int)c.size() % 2 == 0) return sum; long long ans = 0; for (int i = 0; i < c.size(); i++) { if (i & 1) { if (i < c.size() - 1 and c[i + 1].first - c[i - 1].first <= sm) ans = max(ans, sum - c[i].second); }else ans = max(ans, sum - c[i].second); return ans; }; int q = e.size(); vector<long long> ans(q); for (int t = 0; t < q; t++) { long long val = 0; vector<pair<int, int>> cur = {v[0]}; for (int i = 1; i < n; i++) { if (v[i].first - v[i - 1].first > e[t]) { val += op(cur, e[t]); cur.clear(); } cur.push_back(v[i]); } ans[t] = mx - val - op(cur, e[t]); } return ans; }

Compilation message (stderr)

nile.cpp: In lambda function:
nile.cpp:28:23: error: conflicting declaration 'std::vector<long long int> ans'
   28 |     vector<long long> ans(q);
      |                       ^~~
nile.cpp:19:19: note: previous declaration as 'long long int ans'
   19 |         long long ans = 0;
      |                   ^~~
nile.cpp:34:24: error: use of 'op' before deduction of 'auto'
   34 |                 val += op(cur, e[t]);
      |                        ^~
nile.cpp:39:12: error: invalid types 'long long int[int]' for array subscript
   39 |         ans[t] = mx - val - op(cur, e[t]);
      |            ^
nile.cpp:39:29: error: use of 'op' before deduction of 'auto'
   39 |         ans[t] = mx - val - op(cur, e[t]);
      |                             ^~
nile.cpp: In function 'std::vector<long long int> calculate_costs(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
nile.cpp:42:2: error: expected ',' or ';' at end of input
   42 | }
      |  ^
nile.cpp:42:2: error: expected '}' at end of input
nile.cpp:5:95: note: to match this '{'
    5 | vector<long long> calculate_costs(vector<int> w, vector<int> a, vector<int> b, vector<int> e) {
      |                                                                                               ^
nile.cpp:42:2: warning: no return statement in function returning non-void [-Wreturn-type]
   42 | }
      |  ^