답안 #781570

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
781570 2023-07-13T08:11:26 Z kebine 이상한 기계 (APIO19_strange_device) C++17
0 / 100
541 ms 118864 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,a,b;
ll l[1000005],r[1000005];
ll gcd(ll a, ll b){
    if (b==0) return a;
    return gcd(b,a%b);
}
ll lcm (ll a, ll b){
    return a/gcd(a,b)*b;
}
int main(){
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin>>n>>a>>b;
    ll t;
    ll x;
    if ((b+1)%a==0){
        t=b;
    }
    else{
        t=a*b;
    }
    // cout<<t;
    // t=lcm(t,b);
    set <pair<ll,ll>> st;
    for (int i=1;i<=n;i++){
        cin>>l[i]>>r[i];
        ll u=r[i]-l[i]+1;
        if (u>=t){
            l[i]=1;
            r[i]=t;
        }
        else{
            ll q=r[i]-l[i];
            ll p=l[i]%t;
            l[i]=p;
            r[i]=l[i]+q;
        }
        if (r[i<=t])
            st.insert({l[i],r[i]});
        else{
            st.insert({l[i],t});
            st.insert({1,(u-(t-l[i]+1))});
        }
        // cout<<l[i]<<" "<<r[i]<<endl;
    }
    vector <pair<ll,ll>> pasang;
    for (auto z:st){
        pasang.push_back(z);
        // cout<<z.first<<" "<<z.second<<endl;
    }
    // sort(pasang+1,pasang+n+1);
    vector <pair<ll,ll>> jawab;
    ll last=pasang[0].second,previous=pasang[0].first;
    pasang.push_back({(ll)1e18+100,(ll)1e18+100});
    sort(pasang.begin(),pasang.end());
    for (int i=1;i<=n;i++){
        if (pasang[i].first<=last){
            last=pasang[i].second;
        }
        else{
            jawab.push_back({previous,last});
            previous=pasang[i].first;
            last=pasang[i].second;
        }
    }
    // if (previous>jawab[jawab.size()-1].second){
    //     // jawab.push_back({previous,last});
    // }
    ll ans=0;
    for (int i=0;i<jawab.size();i++){
        ans+=jawab[i].second-jawab[i].first+1;
    }
    cout<<"  "<<ans;
}

Compilation message

strange_device.cpp: In function 'int main()':
strange_device.cpp:72:19: 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]
   72 |     for (int i=0;i<jawab.size();i++){
      |                  ~^~~~~~~~~~~~~
strange_device.cpp:17:8: warning: unused variable 'x' [-Wunused-variable]
   17 |     ll x;
      |        ^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 5 ms 1592 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Incorrect 1 ms 256 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 1 ms 340 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 499 ms 118840 KB Output is correct
3 Incorrect 541 ms 118776 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 499 ms 118840 KB Output is correct
3 Incorrect 541 ms 118776 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 499 ms 118840 KB Output is correct
3 Incorrect 541 ms 118776 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 54 ms 12732 KB Output is correct
3 Correct 50 ms 12740 KB Output is correct
4 Correct 528 ms 118840 KB Output is correct
5 Correct 52 ms 12800 KB Output is correct
6 Correct 56 ms 12756 KB Output is correct
7 Correct 49 ms 12788 KB Output is correct
8 Correct 51 ms 12812 KB Output is correct
9 Correct 48 ms 12708 KB Output is correct
10 Correct 46 ms 12692 KB Output is correct
11 Correct 61 ms 12788 KB Output is correct
12 Correct 50 ms 12768 KB Output is correct
13 Correct 53 ms 12720 KB Output is correct
14 Incorrect 541 ms 118864 KB Output isn't correct
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 5 ms 1592 KB Output isn't correct
3 Halted 0 ms 0 KB -