제출 #983752

#제출 시각아이디문제언어결과실행 시간메모리
983752pcc이상한 기계 (APIO19_strange_device)C++17
100 / 100
443 ms70400 KiB
#include <bits/stdc++.h> using namespace std; #define ll __int128_t #define pll pair<ll,ll> #define fs first #define sc second ll N,A,B; ll cyc; vector<pll> v; ll gcd(ll a,ll b){ if(a<b)swap(a,b); while(b){ a %= b; swap(a,b); } return a; } ll get_cyc(){ ll re = B; ll tmp = (B+1)%A; if(!tmp)return B; tmp = A/gcd(A,B+1); return tmp*B; } int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); long long buf; cin>>buf;N = buf; cin>>buf;A = buf; cin>>buf;B = buf; cyc = get_cyc(); for(int i = 0;i<N;i++){ long long l,r; cin>>l>>r; if(r-l+1>=cyc)v.push_back(pll(0,cyc-1)); else{ if(l%cyc>r%cyc){ v.push_back(pll(l%cyc,cyc-1)); v.push_back(pll(0,r%cyc)); } else{ v.push_back(pll(l%cyc,r%cyc)); } } } sort(v.begin(),v.end()); long long ans = 0; ll rp = 0; for(auto &i:v){ if(rp<i.fs){ ans += i.sc-i.fs+1; rp = i.sc+1; } else{ ans += max((ll)0,i.sc-rp+1); rp = max(rp,i.sc+1); } } cout<<ans<<'\n'; return 0; }

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

strange_device.cpp: In function '__int128 get_cyc()':
strange_device.cpp:22:5: warning: unused variable 're' [-Wunused-variable]
   22 |  ll re = B;
      |     ^~
#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...