제출 #764053

#제출 시각아이디문제언어결과실행 시간메모리
764053vjudge1Fountain (eJOI20_fountain)C++14
30 / 100
58 ms3192 KiB
//#pragma GCC optimize("O3,unroll-loops") //#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #include<bits/stdc++.h> #define ll long long #define F first #define S second #define pb push_back #define pf push_front #define ppb pop_back #define forik(x) ll i = 1; i <= x; i++ const int mod = 1e9 + 7; using namespace std; ll n, q, d[100001], c[100001], idx, z, a, b, e, pr[100001], l, r, m; ll gcd (ll a, ll b){ while (a > 0 && b > 0){ if (a >= b){ a %= b; } else{ b %= a; } } return a + b; } ll binpow(ll a, ll b){ a %= mod; if(b == 0){ return 1; } if(b % 2 == 1){ return binpow (a, b - 1) % mod * a; } if(b % 2 == 0){ ll t = binpow(a, b / 2) % mod; return t * t % mod; } } signed main (){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> q; for (int i = 1; i <= n; i++){ cin >> d[i] >> c[i]; pr[i] = pr[i - 1] + c[i]; } for (int i = 1; i < n; i++){ if (d[i] < d[i + 1]){ a++; } } if (a == n - 1){ while (q--){ cin >> idx >> z; if (pr[n] - pr[idx - 1] < z){ cout << 0 << '\n'; } else{ l = idx; r = n; while (l <= r){ m = (l + r) / 2; if (pr[m] - pr[idx - 1] < z){ l = m + 1; } else{ r = m - 1; } } cout << l << '\n'; } } } else{ while (q--){ cin >> idx >> r; a = d[idx]; b = 0; for (int i = idx; i <= n; i++){ if (d[i] >= a){ r -= c[i]; a = d[i]; } if (r <= 0){ b = i; break; } } cout << b << '\n'; } } }

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

fountain.cpp: In function 'long long int binpow(long long int, long long int)':
fountain.cpp:42:1: warning: control reaches end of non-void function [-Wreturn-type]
   42 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...