제출 #887374

#제출 시각아이디문제언어결과실행 시간메모리
887374HossamHero7Passport (JOI23_passport)C++14
16 / 100
2068 ms28744 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl '\n'
int dp[2501][2501];
int n;
vector<pair<int,int>> v;
int solve(int l,int r){
    if(l == 0 && r == n-1) return 0;
    int &ret = dp[l][r];
    if(~ret) return ret;
    ret = 1e9;
    for(int i=l;i<=r;i++){
        int L = min(l , v[i].first);
        int R = max(r , v[i].second);
        if(l == L && r == R) continue;
        ret = min(ret , solve(L,R) + 1);
    }
    return ret;
}
void solve(){
    cin>>n;
    v.resize(n);
    for(auto &[a,b] : v) cin>>a>>b , a -- , b--;
    memset(dp,-1,sizeof(dp));
    int q;
    cin>>q;
    while(q--){
        int x;
        cin>>x;
        x --;
        int ans = solve(x,x);
        cout<<(ans >= 1e9 ? -1 : ans)<<endl;
    }
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);      cout.tie(0);
    int t=1;
    //cin>>t;
    while(t--){
        solve();
    }
    return 0;
}

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

passport.cpp: In function 'void solve()':
passport.cpp:24:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   24 |     for(auto &[a,b] : v) cin>>a>>b , a -- , b--;
      |               ^
#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...