제출 #464820

#제출 시각아이디문제언어결과실행 시간메모리
464820Alen777Fountain (eJOI20_fountain)C++14
60 / 100
1016 ms524292 KiB
#include <iostream> #include <string> #include <iomanip> #include <vector> #include <set> #include <map> #include <queue> #include <stack> #include <cmath> #include <algorithm> #include <cstring> using namespace std; #define ll long long #define ull unsigned ll #define pb push_back #define mpr make_pair #define lb lower_bound #define ld long double #define ub upper_bound const int N = 100005; int c[N], d[N]; vector<ll> s; vector<pair<long long, int> > cnt[N]; void solve() { int n, q; cin >> n >> q; for (int i = 0; i < n; i++) { cin >> d[i] >> c[i]; } bool flag = true; for (int i = 0; i < n - 1; i++) { if (d[i] >= d[i + 1]) { flag = false; break; } } if (flag) { ll sum = 0; for (int i = 0; i < n; i++) { sum += c[i]; s.push_back(sum); } while (q--) { int ind; ll tar; cin >> ind >> tar; ind--; if (ind != 0) { tar += s[ind - 1]; } int ind0 = lower_bound(s.begin(), s.end(), tar) - s.begin(); if (ind0 == n) { cout << 0 << endl; continue; } cout << ind0 + 1 << endl; } return; } for (int i = 0; i < n; i++) { cnt[i].push_back(mpr(c[i], i)); int ind = i; long long tar = c[i]; for (int j = i + 1; j < n; j++) { if (d[j] > d[ind]) { tar += c[j]; ind = j; cnt[i].push_back(mpr(tar, ind)); } } } while (q--) { int ind; long long tar; cin >> ind >> tar; ind--; int ind0 = lower_bound(cnt[ind].begin(), cnt[ind].end(), mpr(tar, 0)) - cnt[ind].begin(); if (ind0 == cnt[ind].size()) { cout << 0 << endl; continue; } cout << cnt[ind][ind0].second + 1 << endl; } } int main() { /*cout.setf(ios::fixed | ios::showpoint); cout.precision(6);*/ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); solve(); return 0; }

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

fountain.cpp: In function 'void solve()':
fountain.cpp:81:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   81 |         if (ind0 == cnt[ind].size()) {
      |             ~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...