제출 #462298

#제출 시각아이디문제언어결과실행 시간메모리
462298bigoFountain (eJOI20_fountain)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; typedef pair<int, int> pii; int main() { int n, q; cin >> n >> q; vector<pii>vec(n); ll sum = 0; for (int i = 0; i < n; i++) { cin >> vec[i].first >> vec[i].second; sum += vec[i].second; } n++; sum += 1e9; vec.push_back({ 1e9,1e9 }); vector<int>sef(n+1); sef[n] = 0; for (int i = 0; i < n; i++) { sef[n - 1 - i] = sef[n - i] + vec[n - 1 - i].second; } vector<int>pref(n); pref[0] = vec[0].second; for (int i = 1; i < n; i++) { pref[i] = pref[i - 1] + vec[i].second; } /* for (int i = 0; i < n; i++) { sed[i].push_back(i+1); for (int j = i + 1; j < n; j++) { if (vec[sed[i][sed[i].size() - 1]-1].first < vec[j].first) sed[i].push_back(j+1); } }*/ vector<int>ans1; while (q--) { int r, c; cin >> r >> c; r--; int lo = r; int hi = n - 1; int mid; if (r == 0) { while (lo < hi) { mid = (lo + hi) / 2; if ((sum - sef[mid+1]) < c) { lo = mid + 1; } else if (c == (sum - sef[mid+1])) break; else { hi = mid; } } if ((sum - sef[mid + 1]) < c) mid++; } else { while (lo < hi) { mid = (lo + hi) / 2; //n-mid-r if ((sum - pref[r - 1] - sef[mid+1]) < c) { lo = mid + 1; } else if (c == (sum - pref[r - 1] - sef[mid+1])) break; else { hi = mid; } } if ((sum - pref[r - 1] - sef[mid + 1]) < c) mid++; } if (mid == n - 1) mid = -1; ans1.push_back(mid+1); /* vector<int>tmp = sed[r - 1]; int ans = -1; for (int i = 0; i < tmp.size(); i++) { if ((c - vec[tmp[i]-1].second) > 0) { c -= vec[tmp[i]-1].second; } else { ans = tmp[i]; break; } } if (ans == -1) ans = 0; ans1.push_back(ans);*/ } for (int i = 0; i < ans1.size(); i++) { cout << ans1[i] << endl; } }

컴파일 시 표준 에러 (stderr) 메시지

fountain.cpp: In function 'int main()':
fountain.cpp:8:2: error: 'll' was not declared in this scope
    8 |  ll sum = 0;
      |  ^~
fountain.cpp:11:3: error: 'sum' was not declared in this scope
   11 |   sum += vec[i].second;
      |   ^~~
fountain.cpp:14:2: error: 'sum' was not declared in this scope
   14 |  sum += 1e9;
      |  ^~~
fountain.cpp:92:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   92 |  for (int i = 0; i < ans1.size(); i++) {
      |                  ~~^~~~~~~~~~~~~