제출 #317866

#제출 시각아이디문제언어결과실행 시간메모리
317866tjdgus4384이상한 기계 (APIO19_strange_device)C++14
15 / 100
61 ms4204 KiB
#include<bits/stdc++.h> using namespace std; long long A, B, l[100001], r[100001]; vector<pair<long long, long long> > v; int n; int main(){ scanf("%d %lld %lld", &n, &A, &B); for(int i = 0;i < n;i++){ scanf("%lld %lld", &l[i], &r[i]); } long long g = __gcd(B+1, A), t = 1000000000000000000LL; if(A/g <= t/B) t = (A/g)*B; for(int i = 0;i < n;i++){ if((r[i] - l[i] + 1) >= t){ printf("%lld", t); return 0; } l[i] %= t; r[i] %= t; if(r[i] < l[i]){ v.push_back({l[i], t-1}); v.push_back({0, r[i]}); } else v.push_back({l[i], r[i]}); } sort(v.begin(), v.end()); long long s = v[0].first, e = v[0].second, ans = 0; for(int i = 1;i < v.size();i++){ if(v[i].first <= e) e = max(e, v[i].second); else{ ans += (e-s+1); s = v[i].first; e = v[i].second; } } ans += e-s+1; printf("%lld", ans); return 0; }

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

strange_device.cpp: In function 'int main()':
strange_device.cpp:30:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for(int i = 1;i < v.size();i++){
      |                   ~~^~~~~~~~~~
strange_device.cpp:8:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    8 |     scanf("%d %lld %lld", &n, &A, &B);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
strange_device.cpp:10:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   10 |         scanf("%lld %lld", &l[i], &r[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...