제출 #320972

#제출 시각아이디문제언어결과실행 시간메모리
320972nekiDetecting Molecules (IOI16_molecules)C++14
9 / 100
1 ms364 KiB
#include "molecules.h"
#include <bits/stdc++.h>
#define loop(i, a, b) for(long long i=a;i<b;i++)
#define pool(i, a, b) for(long long i=a-1;i>=b;i--)
#define fore(i, a) for(auto&& i:a)
#define fi first
#define se second
#define ps(a) push_back(a)
#define pb(a) pop_back(a)
#define sc scanf
#define vc vector
#define pa pair<ll, ll>
#define ll int
#define lb lower_bound
#define ub upper_bound
#define all(a) a.begin(), a.end()
#define llmax LLONG_MAX/2
#define llmin -LLONG_MAX/2
using namespace std;
#define mn 1010
#define pa pair<ll, ll>
#define ld long double 

vc<int> find_subset(int l, int u, vc<int> w){
    vc<pa> ar;
    loop(i, 0, w.size()){
        ll v=w[i];
        if(v<l)ar.ps(make_pair(v, i));
        else if(v<=u) return vc<ll> {i};
    }
    if(ar.size()==0) return vc<ll> {};
    sort(all(ar));
    ll n=ar.size();
    vc<ll> sum(n+1, 0);
    loop(i, 0, n) sum[i+1]=sum[i]+ar[i].fi;
    loop(i, 1, n+1) if(sum[i]-sum[0]<=u and l<=sum[n]-sum[n-i]){
        loop(j, 0, n-i+1) if(l<=sum[j+i]-sum[j] and sum[j+i]-sum[j]<=u){
            vc<ll> ans;
            loop(z, j+1, j+1+i) ans.ps(ar[z].se);
            sort(all(ans));
            return ans;
        }
    }
    return vc<ll> {};
}

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

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:3:42: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    3 | #define loop(i, a, b) for(long long i=a;i<b;i++)
......
   26 |     loop(i, 0, w.size()){
      |          ~~~~~~~~~~~~~~                   
molecules.cpp:26:5: note: in expansion of macro 'loop'
   26 |     loop(i, 0, w.size()){
      |     ^~~~
molecules.cpp:29:38: warning: narrowing conversion of 'i' from 'long long int' to 'int' [-Wnarrowing]
   29 |         else if(v<=u) return vc<ll> {i};
      |                                      ^
molecules.cpp:29:38: warning: narrowing conversion of 'i' from 'long long int' to 'int' [-Wnarrowing]
#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...