Submission #811063

#TimeUsernameProblemLanguageResultExecution timeMemory
811063manhlinh1501Detecting Molecules (IOI16_molecules)C++17
Compilation error
0 ms0 KiB
/// @author : Hoang Manh Linh #include <bits/stdc++.h> using namespace std; using i64 = long long; #define pll pair<i64, i64> #define eb emplace_back #define all(a) a.begin(), a.end() #define lb(a, x) lower_bound(all(a), x) - a.begin() int n; int l, r; vector<int> find_subset(int l, int r, vector<int> a) { int n = a.size(); vector<i64> sum(n); vector<pll> res; for(int i = 0; i < n; i++) res.eb(a[i], i); sort(all(res)); sum.front() = res.front().first; for(int i = 1; i < n; i++) sum[i] = sum[i - 1] + res[i].first; vector<int> ans; for(int i = 0; i < n; i++) { int pos = lb(sum, sum[i] - res[i].first + l); if(pos >= n) continue; if(sum[pos] - sum[i] + res[i].first <= r) { for(int j = i; j <= pos; j++) ans.eb(res[j].second + 1); return ans; } } reverse(all(res)); sum.front() = res.front().first; for(int i = 1; i < n; i++) sum[i] = sum[i - 1] + res[i].first; vector<int> ans; for(int i = 0; i < n; i++) { int pos = lb(sum, sum[i] - res[i].first + l); if(pos >= n) continue; if(sum[pos] - sum[i] + res[i].first <= r) { for(int j = i; j <= pos; j++) ans.eb(res[j].second + 1); return ans; } } return ans; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:51:17: error: redeclaration of 'std::vector<int> ans'
   51 |     vector<int> ans;
      |                 ^~~
molecules.cpp:28:17: note: 'std::vector<int> ans' previously declared here
   28 |     vector<int> ans;
      |                 ^~~