제출 #784474

#제출 시각아이디문제언어결과실행 시간메모리
784474makanhulia이상한 기계 (APIO19_strange_device)C++17
5 / 100
579 ms64216 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define pb push_back
#define fi first
#define se second
//*AC BERSAMA ALLAH  FORTIS FORTUNA ADIUVAT
//# nyampah
ull sz;
vector<pair<ll,bool> > lr;
vector<pair<ll,ll> > lr1;
ull n, a, b;

ll gcd(ull x, ull y){
    if(y==0) return x;
    else return gcd(x,y%x);
}

ll szz(ull x, ull y){
    if((y+1)%a==0) return y+1;
    else{
        return (x*y);
    }
}

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    cin>>n>>a>>b;
    sz = abs(szz(a,b));
    // if((b+1)%a==0) sz=b+1;
    // else sz = a*b;

    for(int i=0;i<n;i++){
        ll l,r; cin>>l>>r;
        l%=sz; r%=sz;
        if(l>r){
            lr.pb(make_pair(0,0)); lr.pb(make_pair(r,1));
            lr.pb(make_pair(l,0)); lr.pb(make_pair(sz-1,1));
            // cout<<"-"<<0<<" "<<r<<'\n';
            // cout<<"--"<<l<<" "<<sz-1<<'\n';
        }
        else {
            lr.pb(make_pair(l,0)); lr.pb(make_pair(r,1));
        }
    }
    sort(lr.begin(),lr.end());

    ll cnt=0, l, r;
    for(auto i : lr){
        if(i.se == 0){
            if(cnt==0) l=i.fi;
            cnt++;
        }
        else cnt--;
        
        if(cnt==0){
            r = i.fi;
            lr1.pb(make_pair(l,r));
        }
    }
    cout<<'\n';

    ll ans=0;
    for(auto i : lr1){
        ans+=(i.second-i.first+1);
    }
    cout<<ans<<'\n';


    return 0;
}

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

strange_device.cpp: In function 'int main()':
strange_device.cpp:35:18: warning: comparison of integer expressions of different signedness: 'int' and 'ull' {aka 'long long unsigned int'} [-Wsign-compare]
   35 |     for(int i=0;i<n;i++){
      |                 ~^~
strange_device.cpp:60:33: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized]
   60 |             lr1.pb(make_pair(l,r));
      |                                 ^
#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...