제출 #983292

#제출 시각아이디문제언어결과실행 시간메모리
983292vjudge1이상한 기계 (APIO19_strange_device)C++17
100 / 100
354 ms54288 KiB
#include <bits/stdc++.h>

using namespace std;

#define TL ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define rall(s) s.rbegin(),s.rend()
#define all(s) s.begin(),s.end()
#define pb push_back
#define se second
#define fi first
#define ll long long
#define ld long double
#define YES cout<<"YES\n"
#define Yes cout<<"Yes\n"
#define yes cout<<"yes\n"
#define NO cout<<"NO\n"
#define No cout<<"No\n"
#define no cout<<"no\n"


const int N = 5e5 + 9 , mod = 1e9 + 7;
ll a[N] , b[N] , dp[N] , c[N] , d[N];


void solve()
{
    ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mx = 0 , mn = 1e18;
    ll a , b;
    cin>>n;
    cin>>a>>b;
    set<pair<int,int>>st;
    s = a / __gcd(b + 1, a);
    y = 1e18 / __gcd(b + 1, a);
    if(s >= y){
        s = 0;
        for(i = 1; i <= n; i++){
            cin>>x>>y;
            s += (y - x) + 1;
        }
        cout<<s<<"\n";
    return;
    }
    ll ans = 0;
    vector<pair<ll,ll>>v;
    s = s * b;
    for(i = 1; i <= n; i++){
        cin>>l>>r;
        if(l / s == r / s){
            v.pb({l % s , r % s});
        }else {
            if(l / s + 1 == r / s){
                v.pb({l % s , s - 1});
                v.pb({0 , r % s});
            }else {
                cout<<s<<"\n";
                return;
            }
        }
    }
    mx--;
    sort(all(v));
    for(i = 0; i < v.size(); i++){
        if(v[i].first <= mx)
            ans += max(0ll , v[i].se - mx);
        else
            ans += v[i].se - v[i].fi + 1;
        mx = max(mx , v[i].second);
    }
    cout<<ans<<"\n";
}

int main(){
    TL;

    int t = 1;
//   cin>>t;
    while(t--)
     {
        solve();
     }
}
// Author : حسن

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

strange_device.cpp: In function 'void solve()':
strange_device.cpp:62:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |     for(i = 0; i < v.size(); i++){
      |                ~~^~~~~~~~~~
strange_device.cpp:27:12: warning: unused variable 'q' [-Wunused-variable]
   27 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mx = 0 , mn = 1e18;
      |            ^
strange_device.cpp:27:20: warning: unused variable 'j' [-Wunused-variable]
   27 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mx = 0 , mn = 1e18;
      |                    ^
strange_device.cpp:27:46: warning: unused variable 'f' [-Wunused-variable]
   27 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mx = 0 , mn = 1e18;
      |                                              ^
strange_device.cpp:27:50: warning: unused variable 'k' [-Wunused-variable]
   27 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mx = 0 , mn = 1e18;
      |                                                  ^
strange_device.cpp:27:54: warning: unused variable 'm' [-Wunused-variable]
   27 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mx = 0 , mn = 1e18;
      |                                                      ^
strange_device.cpp:27:67: warning: unused variable 'mn' [-Wunused-variable]
   27 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mx = 0 , mn = 1e18;
      |                                                                   ^~
#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...