제출 #1001672

#제출 시각아이디문제언어결과실행 시간메모리
1001672vjudge1Detecting Molecules (IOI16_molecules)C++17
9 / 100
1 ms604 KiB
#include "molecules.h"
#include<bits/stdc++.h>
#pragma GCC optimize("-O3")
#define ll int
#define ld long double
#define vl vector<ll>
#define vi vector<int>
#define pii pair<int, int>
#define pll pair<ll, ll>
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define f first
#define s second
#define pb push_back
#define p_b pop_back
using namespace std;
vector<int> find_subset(int f, int u, vector<int> w) {
    vi ans;
    int cnt = 0, sum = 0;
    for(int i = 0; i < w.size(); i++)
    {
        if(w[i] > u)
            cnt++;
        sum += w[i];
        if(f <= w[i] && w[i] <= u)
        {
            ans.pb(i);
            return ans;
        }
    }
    if(cnt == (int)w.size() || sum < f)
        return ans;
    vector<pii>vect;
    for(int i = 0; i < w.size(); i++)
        vect.pb({w[i], i});
    sort(all(vect));
    for(int i = vect.size()-1; i >= 0; i--)
    {
        if(vect[i].f > u)
            continue;
        ans.pb(vect[i].s);
        f -= vect[i].f;
        u -= vect[i].f;
        if(f <= 0)
            break;
    }
    vl res;
    if(f > 0)
        return res;
    reverse(all(ans));
    return ans;
}

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

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:20:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i = 0; i < w.size(); i++)
      |                    ~~^~~~~~~~~~
molecules.cpp:34:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |     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...