Submission #131651

#TimeUsernameProblemLanguageResultExecution timeMemory
131651Swan이상한 기계 (APIO19_strange_device)C++14
5 / 100
748 ms17340 KiB
#include <bits/stdc++.h>
#define stop system("pause")
#define INP freopen("promote.in","r",stdin)
#define OUTP freopen("promote.out","w",stdout)
#define double long double
#define int long long

using namespace std;

bool check(int x){
    return x != -1;
}

map<int,int> qwe;

main()
{
    ios_base::sync_with_stdio(0);
    int n,a,b; cin >> n >> a >> b;
    int lcm;
    double kek = 1.0L*a*b;
    if(kek >= 1e18+228)lcm = 1e18+228;
    else lcm = a*b;
    vector<pair<int,int> > v;
    int res = 0;
    for(int i(0); i < n;i++){
        int l,r; cin >> l >> r;
        l%=lcm;
        r%=lcm;
        if(l <= r)v.push_back({l,r});
        else{
            if(check(lcm-1))v.push_back({l,lcm-1});
            v.push_back({0,r});
        }
    }
    sort(v.begin(),v.end());
    int ans = 0;
    int lastx,lasty; lastx = lasty = -1;
    for(int i(0); i < v.size();i++){
        //cout << "q " << v[i].first << ' ' << v[i].second << endl;
        int nx,ny;
        nx = max(lasty+1,v[i].first);
        ny = max(lasty,v[i].second);
        if(nx >= lcm)continue;
        ans+=ny-nx+1;
        lastx = nx;
        lasty = ny;
    }
    cout << ans;
    return 0;
}
/*
15 500 13 18
*/

Compilation message (stderr)

strange_device.cpp:16:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main()
      ^
strange_device.cpp: In function 'int main()':
strange_device.cpp:39:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i(0); i < v.size();i++){
                   ~~^~~~~~~~~~
strange_device.cpp:25:9: warning: unused variable 'res' [-Wunused-variable]
     int res = 0;
         ^~~
strange_device.cpp:38:9: warning: variable 'lastx' set but not used [-Wunused-but-set-variable]
     int lastx,lasty; lastx = lasty = -1;
         ^~~~~
#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...