제출 #166416

#제출 시각아이디문제언어결과실행 시간메모리
166416Feeder이상한 기계 (APIO19_strange_device)C++11
100 / 100
817 ms53628 KiB
#include "bits/stdc++.h" using namespace std; typedef long long ll; int main(){ ios::sync_with_stdio(0); cin.tie(0); int n; vector<pair<ll, ll> > vec; ll l, r, a, b, d, m, l2, r2, out = 0; cin >> n >> a >> b; d = a / __gcd(a, b+ 1); if(1e18 / b <= d) m = 1e18; else m = b * d; for(int i=0; i<n; i++){ cin >> l >> r; l2 = r2 = -1; if(r / m == l / m) r %= m, l %= m; else if(r / m == l / m + 1){ if(r % m + 1 >= l % m) l = 0, r = m - 1; else{ l %= m, r %= m; l2 = 0, r2 = r; r = m - 1; } } else l = 0, r = m - 1; vec.emplace_back(l, r); if(l2 != -1) vec.emplace_back(l2, r2); } sort(vec.begin(), vec.end()); l = r = -1; for(int i=0; i<vec.size(); i++){ tie(a, b) = vec[i]; if(a > r){ l = a, r = b; out += (b - a + 1); } else if(b > r){ out += (b - r); r = b; } } cout << out; }

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

strange_device.cpp: In function 'int main()':
strange_device.cpp:34:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0; i<vec.size(); i++){
               ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...