Submission #754867

#TimeUsernameProblemLanguageResultExecution timeMemory
754867alexander707070Detecting Molecules (IOI16_molecules)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
int n,pref[200007];
pair<int,int> a[200007];
 
vector<int> answer(int l,int r){
    vector<int> res;
    for(int i=l;i<=r;i++){
        res.push_back(a[i].second);
    }
    return res;
}
 
 
vector<int> find_subset(int l,int u,vector<int> w){
    n=w.size();
    for(int i=1;i<=n;i++){
        a[i]={w[i-1],i-1};
    }

    sort(a+1,a+n+1);
    for(int i=1;i<=n;i++){
        pref[i]=pref[i-1]+a[i].first;
    }

    for(int i=1;i<=n;i++){
        int lt=0, rt=i, mid;
        while(lt+1<tr){
            mid=(lt+rt)/2;
            if(pref[i]-pref[mid]>=l){
                lt=mid;
            }else{
                rt=mid;
            }
        }
        if(pref[i]-pref[lt]>=l and pref[i]-pref[lt]<=u){
            return answer(lt+1,i); 
        }
    }
    
    return {};
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:30:20: error: 'tr' was not declared in this scope; did you mean 'rt'?
   30 |         while(lt+1<tr){
      |                    ^~
      |                    rt