제출 #239258

#제출 시각아이디문제언어결과실행 시간메모리
239258urd05Detecting Molecules (IOI16_molecules)C++14
69 / 100
57 ms6136 KiB
#include <bits/stdc++.h>
using namespace std;

long long dp[10001][170];

bool val(int x,int y) {
    return (dp[x][y/64]>>(y%64))&1;
}

typedef pair<int,int> P;

vector<int> find_subset(int l, int u,vector<int> w) {
    vector<P> copy(w.size());
    for(int i=0;i<w.size();i++) {
        copy[i]=P(w[i],i);
    }
    sort(w.begin(),w.end());
    sort(copy.begin(),copy.end());
    long long psum[10001];
    psum[0]=0;
    int n=w.size();
    for(int i=1;i<=n;i++) {
        psum[i]=psum[i-1]+w[i-1];
    }
    for(int i=1;i<=n;i++) {
        for(int j=0;j<=n-i;j++) {
            if (psum[j+i]-psum[j]>=l&&psum[j+i]-psum[j]<=u) {
                vector<int> ret;
                for(int k=j;k<j+i;k++) {
                    ret.push_back(copy[k].second);
                }
                return ret;
            }
        }
    }
    vector<int> ret;
    return ret;
}

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

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:14:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<w.size();i++) {
                 ~^~~~~~~~~
#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...