제출 #564434

#제출 시각아이디문제언어결과실행 시간메모리
564434shahriarkhan이상한 기계 (APIO19_strange_device)C++14
100 / 100
530 ms40928 KiB
#include<bits/stdc++.h>
using namespace std ;

int main()
{
    long long n , A , B ;
    scanf("%lld%lld%lld",&n,&A,&B) ;
    long long l[n+2] , r[n+2] , diff = (A/__gcd(A,B+1))*B , ans = 0 , cur_l = 0 , cur_r = -1 ;
    vector<pair<long long,long long> > v ;
    for(int i = 1 ; i <= n ; ++i)
    {
        scanf("%lld%lld",&l[i],&r[i]) ;
        if((r[i]-l[i]+1)/diff) v.push_back({0,diff-1}) ;
        else
        {
            l[i] %= diff , r[i] %= diff ;
            if(r[i]>=l[i]) v.push_back({l[i],r[i]}) ;
            else v.push_back({l[i],diff-1}) , v.push_back({0,r[i]}) ;
        }
    }
    sort(v.begin(),v.end()) ;
    for(pair<long long , long long> p : v)
    {
        if(p.first>cur_r)
        {
            ans += (cur_r-cur_l+1) ;
            cur_l = p.first , cur_r = p.second ;
        }
        else
        {
            cur_r = max(cur_r,p.second) ;
        }
    }
    ans += (cur_r-cur_l+1) ;
    printf("%lld\n",ans) ;
    return 0 ;
}

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

strange_device.cpp: In function 'int main()':
strange_device.cpp:7:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 |     scanf("%lld%lld%lld",&n,&A,&B) ;
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
strange_device.cpp:12:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |         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...