Submission #793977

# Submission time Handle Problem Language Result Execution time Memory
793977 2023-07-26T08:26:27 Z vjudge1 Passport (JOI23_passport) C++17
46 / 100
2000 ms 4576 KB

// Author : حسن

#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 fi first
#define se second
#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 = 2e5 + 9 , mod = 1e9 + 7;
ll c[N] = {} , d[N] = {} , a[N] = {}, b[N] = {}  ;

vector<pair<ll,ll>>v;
void solve(){
    ll q , i , j , m , n , z , s  = 0, f, l , r , k , x , y , mn  = 1e18 , mx = 0;
    cin>>n;
    for(i = 1; i <= n; i++){
        cin>>a[i]>>b[i];
    }
    cin>>q;
    cin>>k;
    if(k == 1 && q == 1){
        s = 1;
        x = 1;
        y = b[k];
        while(y < n){
        mx = 0;
        for(j = x+ 1; j <= y; j++){
            mx = max(mx , b[j]);
        }
        if(mx <= y)
        break;
        s++;
        x = y;
        y=  mx;
        }
        if(y != n)
            cout<<-1;
        else
            cout<<s;
        return;
    }
    while(q--){
    vector<pair<ll,ll>>v , v1;
    v.pb({a[k], b[k]});
    s = -1;
    for(i = 1; i <= n; i++){

        if(v.size() == 1 && v[0].fi == 1 && v[0].se == n){
            s = i;
            break;
        }
        for(auto to  :v)
            for(j = to.fi; j <= to.se; j++)
                if(a[j] < to.fi || b[j] > to.se)
                v1.pb({min(a[j] , to.fi) , -max(b[j] , to.se)});
        sort(all(v1));
        v.clear();
        multiset<ll>st , st1;
        for(auto to : v1){
            if(st.size() == 0){
            st.insert(-to.se);
            st1.insert(to.fi);
            }
            auto it = st.end();
            it--;
            if(*it < -to.se){
                st.insert(-to.se);
                st1.insert(to.fi);
            }
        }
        while(st.size()){
            v.pb({*st1.begin() , *st.begin()});
            st.erase(st.begin());
            st1.erase(st1.begin());
        }
        if(v.size() == 0)
            continue;
        sort(all(v));
        v1.clear();
    }
        if(q != 0)
        cin>>k;

    cout<<s<<"\n";
    }
}

int main(){

     TL;
     /*
     #ifndef ONLINE_JUDGE
     freopen("input.txt", "r", stdin);
     freopen("output.txt", "w", stdout);
     #endif
     */

int t = 1;
//cin>>t;

while(t--)
     {
     solve();
     }

}
// Author : حسن

Compilation message

passport.cpp: In function 'void solve()':
passport.cpp:32:20: warning: unused variable 'm' [-Wunused-variable]
   32 |     ll q , i , j , m , n , z , s  = 0, f, l , r , k , x , y , mn  = 1e18 , mx = 0;
      |                    ^
passport.cpp:32:28: warning: unused variable 'z' [-Wunused-variable]
   32 |     ll q , i , j , m , n , z , s  = 0, f, l , r , k , x , y , mn  = 1e18 , mx = 0;
      |                            ^
passport.cpp:32:40: warning: unused variable 'f' [-Wunused-variable]
   32 |     ll q , i , j , m , n , z , s  = 0, f, l , r , k , x , y , mn  = 1e18 , mx = 0;
      |                                        ^
passport.cpp:32:43: warning: unused variable 'l' [-Wunused-variable]
   32 |     ll q , i , j , m , n , z , s  = 0, f, l , r , k , x , y , mn  = 1e18 , mx = 0;
      |                                           ^
passport.cpp:32:47: warning: unused variable 'r' [-Wunused-variable]
   32 |     ll q , i , j , m , n , z , s  = 0, f, l , r , k , x , y , mn  = 1e18 , mx = 0;
      |                                               ^
passport.cpp:32:63: warning: unused variable 'mn' [-Wunused-variable]
   32 |     ll q , i , j , m , n , z , s  = 0, f, l , r , k , x , y , mn  = 1e18 , mx = 0;
      |                                                               ^~
# Verdict Execution time Memory Grader output
1 Correct 0 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 26 ms 4576 KB Output is correct
5 Correct 25 ms 4328 KB Output is correct
6 Correct 25 ms 4392 KB Output is correct
7 Correct 21 ms 4428 KB Output is correct
8 Correct 19 ms 3852 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 1 ms 328 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 3 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 1 ms 328 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 3 ms 340 KB Output is correct
16 Correct 1 ms 340 KB Output is correct
17 Correct 48 ms 416 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 1 ms 340 KB Output is correct
20 Correct 1347 ms 596 KB Output is correct
21 Correct 573 ms 580 KB Output is correct
22 Correct 1 ms 340 KB Output is correct
23 Correct 1 ms 348 KB Output is correct
24 Correct 1 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 1 ms 328 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 3 ms 340 KB Output is correct
16 Correct 1 ms 340 KB Output is correct
17 Correct 48 ms 416 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 1 ms 340 KB Output is correct
20 Correct 1347 ms 596 KB Output is correct
21 Correct 573 ms 580 KB Output is correct
22 Correct 1 ms 340 KB Output is correct
23 Correct 1 ms 348 KB Output is correct
24 Correct 1 ms 596 KB Output is correct
25 Correct 0 ms 212 KB Output is correct
26 Correct 0 ms 340 KB Output is correct
27 Correct 143 ms 524 KB Output is correct
28 Execution timed out 2066 ms 404 KB Time limit exceeded
29 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 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 26 ms 4576 KB Output is correct
5 Correct 25 ms 4328 KB Output is correct
6 Correct 25 ms 4392 KB Output is correct
7 Correct 21 ms 4428 KB Output is correct
8 Correct 19 ms 3852 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 1 ms 340 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 1 ms 340 KB Output is correct
20 Correct 1 ms 328 KB Output is correct
21 Correct 1 ms 340 KB Output is correct
22 Correct 1 ms 340 KB Output is correct
23 Correct 3 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 48 ms 416 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 1 ms 340 KB Output is correct
28 Correct 1347 ms 596 KB Output is correct
29 Correct 573 ms 580 KB Output is correct
30 Correct 1 ms 340 KB Output is correct
31 Correct 1 ms 348 KB Output is correct
32 Correct 1 ms 596 KB Output is correct
33 Correct 0 ms 212 KB Output is correct
34 Correct 0 ms 340 KB Output is correct
35 Correct 143 ms 524 KB Output is correct
36 Execution timed out 2066 ms 404 KB Time limit exceeded
37 Halted 0 ms 0 KB -