제출 #1138152

#제출 시각아이디문제언어결과실행 시간메모리
1138152AliyyiakbarDetecting Molecules (IOI16_molecules)C++20
0 / 100
0 ms324 KiB
#include "molecules.h"
#include "bits/stdc++.h"
using namespace std;

vector<int> find_subset(int l, int r, vector<int> w)
{
    int n = w.size();
    int sum = accumulate(w.begin(), w.end(), 0LL);
    vector<vector<bool>> dp(n + 1, vector<bool>(sum + 1, false));
    for (int i = 0; i <= n; i++)
    {
        dp[i][0] = true;
    }
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= sum; j++)
        {
            if (j < w[i-1])
            {
                dp[i][j] = dp[i-1][j];
            }
            else
            {
                dp[i][j] = dp[i-1][j] || dp[i-1][j-w[i-1]];
            }
        }
    }
    vector<int>indicies;
    for (int sm = l; sm <= r; ++sm)
    {
        if (dp[n][sm])
        {
            int d = sm;
            for (int i = 1; i <= n; ++i)
            {
                if (dp[i-1][d-w[i-1]])
                {
                    indicies.push_back(i);
                    d -= w[i-1];
                    if (d == 0)
                    {
                        break;
                    }
                }
            }
        }
    }
    return indicies;
}

컴파일 시 표준 에러 (stderr) 메시지

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...