제출 #1248914

#제출 시각아이디문제언어결과실행 시간메모리
1248914avohadoDetecting Molecules (IOI16_molecules)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007
#define maxn 200005
#define f first
#define s second
#define ll long long
#define pb(x) push_back(x)
vector<int> find_subset(int l, int u, vector<int> w){
    vector<int> ans;
    pair<int, int> v;
    for(int i=0; i<w.size(); i++){
        v.pb(make_pair(w[i], i));
    }
    sort(v.begin(), v.end());
    long long s1=0, r=0;
    for(int i=0; i<w.size(); i++){
        while(r<w.size()&&s1<l){
            s1+=v[r].f;r++;
        }
        if(s1<l)break;
        if(s1<=u){
            for(int j=i; j<r; j++){
                ans.push_back(v[j].s);
            }
            sort(ans.begin(), ans.end());
            return ans;
        }
        s1-=w[i].f
    }
    return{};
}

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

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:8:15: error: 'struct std::pair<int, int>' has no member named 'push_back'
    8 | #define pb(x) push_back(x)
      |               ^~~~~~~~~
molecules.cpp:13:11: note: in expansion of macro 'pb'
   13 |         v.pb(make_pair(w[i], i));
      |           ^~
molecules.cpp:15:12: error: 'struct std::pair<int, int>' has no member named 'begin'
   15 |     sort(v.begin(), v.end());
      |            ^~~~~
molecules.cpp:15:23: error: 'struct std::pair<int, int>' has no member named 'end'
   15 |     sort(v.begin(), v.end());
      |                       ^~~
molecules.cpp:19:18: error: no match for 'operator[]' (operand types are 'std::pair<int, int>' and 'long long int')
   19 |             s1+=v[r].f;r++;
      |                  ^
molecules.cpp:24:32: error: no match for 'operator[]' (operand types are 'std::pair<int, int>' and 'int')
   24 |                 ans.push_back(v[j].s);
      |                                ^
molecules.cpp:5:11: error: request for member 'first' in 'w.std::vector<int>::operator[](((std::vector<int>::size_type)i))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'}
    5 | #define f first
      |           ^~~~~
molecules.cpp:29:18: note: in expansion of macro 'f'
   29 |         s1-=w[i].f
      |                  ^
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
      |         ^~~~