답안 #221079

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
221079 2020-04-09T13:48:27 Z aloo123 Detecting Molecules (IOI16_molecules) C++14
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
 #include "molecules.h"
#define ll long long
#define ld long double
#define mp make_pair
#define pb push_back
#define vll vector<ll>
#define endl "\n"
#define pll pair<ll,ll>
#define all(x) (x).begin() , (x).end()
#define f first
#define s second
#define int ll
using namespace std;
 
const ll N =(1e5+5);
const ll MOD = 10243;
const ll INF = 1e16;
const ll LOG = 29;

long long binpow(long long a, long long b) {
     a %= MOD;
    long long res = 1;
    while (b > 0) {
        if (b & 1)
            res = (res * a)%MOD ;
        a = (a * a)%MOD ;

        
        b >>= 1;
    }
    res%=MOD;
    return res;
}
vector<int> find_subset(int l, int u, vector<int> w){
    int n = w.size();
    int pre[n];
    vector<pair<int,int>> gg;
    for(int i = 0;i<n;i++){
        gg.pb(mp(w[i],i));
    }
    sort(all(gg));

    pre[0]=gg[0].f;
    for(int i =1;i<n;i++){
        pre[i]=pre[i-1]+gg[i].f;
    }
    for(int i =0;i<n;i++){
        
        int lo = i,hi=n-1;
        int id = -1;
        while(lo<=hi){
            int j = (lo+hi)/2;
            int sum = pre[j];
            if(i != 0) sum-=pre[i-1];
            if(sum<l){
                lo=j+1;
            }
            else {
                if(sum>u){
                    hi=j-1;
                }
                else{
                    id=j;
                    break;
                }
            }
        }
        if(id != -1){
            vector<int> ans;
            for(int k = i;k<=id;k++){
                ans.pb(gg[k].s);
            }
            sort(all(ans));
            return ans;
        }

    }
    vector<int> ans;
    return ans;
}

// int main(){

//     vector<int> v;
//     v.pb(6);
//     v.pb(8);
//     v.pb(8);
//     v.pb(7);
//     vector<int>x = find_subset(15,17,v);
//     for(auto xx:x)cout<<xx<<endl;
//     return 0;
// }

Compilation message

/tmp/ccLj0rkd.o: In function `main':
grader.cpp:(.text.startup+0x152): undefined reference to `find_subset(int, int, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status