제출 #568805

#제출 시각아이디문제언어결과실행 시간메모리
568805HappyPacMan이상한 기계 (APIO19_strange_device)C++14
100 / 100
485 ms42076 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll inf = 1e18; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n; ll A,B; cin >> n >> A >> B; __int128_t LC = (__int128_t)1*A/__gcd(A,B+1)*B; ll sum = 0; vector<pair<ll,ll> > range; for(int i=0;i<n;i++){ ll li,ri; cin >> li >> ri; sum += ri-li+1; range.emplace_back(li,ri); } if(LC > (__int128_t)inf){ cout << sum << '\n'; return 0; } ll LCM = A/__gcd(A,B+1)*B; vector<pair<ll,ll> > addi; for(auto [li,ri] : range){ if(ri/LCM-li/LCM > 1){ addi.emplace_back(0,LCM-1); }else if(ri/LCM-li/LCM == 1){ addi.emplace_back(li%LCM,LCM-1); addi.emplace_back(0,ri%LCM); }else{ addi.emplace_back(li%LCM,ri%LCM); } } ll last = -1, tot = 0; sort(addi.begin(),addi.end()); for(auto [li,ri] : addi){ tot += max(0ll,ri-max(last+1,li)+1); last = max(last,ri); } cout << tot << '\n'; }

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

strange_device.cpp: In function 'int main()':
strange_device.cpp:28:11: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   28 |  for(auto [li,ri] : range){
      |           ^
strange_device.cpp:40:11: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   40 |  for(auto [li,ri] : addi){
      |           ^
#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...