Submission #165045

# Submission time Handle Problem Language Result Execution time Memory
165045 2019-11-24T18:21:34 Z Sparky_09 Detecting Molecules (IOI16_molecules) C++17
Compilation error
0 ms 0 KB
#include<bits/stdc++.h>
#ifdef LOCAL_DEFINE
#include<conio.h>
#endif
using namespace std;
void io();
void end();

vector<int> find_subset(int l, int u, vector<int> v){
    int n = v.size();
    vector<pair<int, int>> p(n);
    vector<int> ans(0), pref(n+1, 0);

    for(int i = 0; i < n; i++){
        p[i] = {v[i], i};
        pref[i+1]=pref[i]+v[i];
        if(v[i]>=l and v[i]<=u){ ans.push_back(i); return ans; }
    }

    int ll = -1, r = -1;
    sort(p.begin(), p.end());
    for(int i = 0, j = 1; j<=n and i!=j;){
        if(pref[j]-pref[i]>u) i++;
        else if(pref[j]-pref[i]<l) j++;
        else if(pref[j]-pref[i]>=l and pref[j]-pref[i]<=u){ ll = i; r = j-1; break; }
    }

    if(ll!=-1) for(int i = n-1, j = n; i>=0;){
        if(pref[j]-pref[i]>u){ j--; if(i==j) i-- }
        else if(pref[j]-pref[i]<l) i--;
        else if(pref[j]-pref[i]>=l and pref[j]-pref[i]<=u){ ll = i; r = j-1; break; }
    }
    
    if(ll!=-1) for(int i = ll; i <= r; i++) ans.push_back(p[i].second);

    return ans;
}
/*
int main(){
    io();
    int l, u, n;
    cin >> l >> u >> n;
    vector<int> v(n);
    for(int& i: v) cin >> i;
    vector<int> z = find_subset(l, u, v);
    for(auto i: z) cout << i << ' ';
    end();
}
*/

void io(){
#ifdef LOCAL_DEFINE
	ios_base::sync_with_stdio(0); cin.tie(0);
	freopen("input.txt", "rt", stdin);
#endif
}

void end(){	
#ifdef LOCAL_DEFINE
	cerr << "\nTime Elapsed: " << 1.0 * clock()/CLOCKS_PER_SEC << " s.\n";
	getch();
#endif
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:29:50: error: expected ';' before '}' token
         if(pref[j]-pref[i]>u){ j--; if(i==j) i-- }
                                                  ^