CSES – Sum of Three Values

枚舉、二分搜

#include<bits/stdc++.h>
#define int long long
#define pii pair<int,int>
#define f first
#define s second
#define fastio ios_base::sync_with_stdio(0);cin.tie(0)
using namespace std;
//declare
int n,k;
vector<pii> v;
//
signed main(){
    fastio;
    cin>>n>>k;
    for(int i=0;i<n;i++){
        int x; cin>>x;
        v.push_back({x,i+1});
    }
    sort(v.begin(),v.end());
    for(int i=0;i<n;i++){
        for(int j=i+1;j<n;j++){
            int x = k-v[i].f-v[j].f;
            pii p = {x, 0};
            auto it = lower_bound(v.begin()+j+1,v.end(),p);
            if(it == v.end()) continue;
            if(it->f != x) continue;
            cout<<v[i].s<<" "<<v[j].s<<" "<<it->s<<"\n";
            return 0;
        }
    }
    cout<<"IMPOSSIBLE"<<"\n";
    return 0;
}

相關文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *