Submission #232432

#TimeUsernameProblemLanguageResultExecution timeMemory
232432UserIsUndefinedDetecting Molecules (IOI16_molecules)C++14
31 / 100
1089 ms776 KiB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;


int dp[500005];




std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    int n = w.size();

    dp[0] = 1;

    int cont = 1;

    for (int i = 1 ; i <= n ; i++){
        int now = w[i-1];
        int cont1 = 0;
        for (int j = w[i-1] ; j <= 500000 ; j++){
            if (dp[j])continue;
            if ((dp[j - w[i - 1]])&&(dp[j- w[i - 1]] != i + 1)){dp[j] = i + 1; cont1++;}
            if (cont1 == cont)break;
        }
        cont+= cont1;
    }

    vector<int> ans;

    int k = -1;

    for (int i = l ; i <= u ; i++){
        if (dp[i] > 0){k = i ; break;}
    }

    if (k == -1)return ans;


    while(k){
        ans.push_back(dp[k] - 2);
        k-= w[dp[k] - 2];
    }

    return ans;

}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:19:13: warning: unused variable 'now' [-Wunused-variable]
         int now = w[i-1];
             ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...