제출 #657546

#제출 시각아이디문제언어결과실행 시간메모리
657546ono_de206은행 (IZhO14_bank)C++14
71 / 100
1080 ms3220 KiB
#include<iostream>
#include<vector>
#include<set>
using namespace std;

#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define in insert
#define all(x) x.begin(),x.end()
#define pb push_back
#define eb emplace_back
#define ff first
#define ss second
// #define int long long

template<typename T>
void mxx(T &a,T b) {if(b>a) a=b;}
template<typename T> 
void mnn(T &a,T b) {if(b<a) a=b;}

const int mod=1e9+7;

void norm(int &a){
    while(a<0) a+=mod;
    while(a>=mod) a-=mod;
}

const int mxn=20100;

int a[22];

signed main(){
    fast;
    int n,m;
    cin>>n>>m;
    vector<int> a(n),b(m);
    vector<vector<int> > gg(n);
    for(int i=0; i<n; i++) cin>>a[i];
    for(int i=0; i<m; i++) cin>>b[i];
    for(int i=0; i<(1<<m); i++){
        int sum=0;
        for(int j=0; j<m; j++){
            if(i&(1<<j)) sum+=b[j];
        }
        for(int j=0; j<n; j++) if(sum==a[j]) gg[j].pb(i);
    }
    vector<int> tmp;
    tmp.pb(0);
    for(int i=0; i<n; i++){
        vector<int> lol;
        for(int j=0; j<gg[i].size(); j++){
            for(int k=0; k<tmp.size(); k++){
                if((gg[i][j]&tmp[k])==0) lol.pb(gg[i][j]^tmp[k]);
            }
        }
        swap(lol,tmp);
    }
    cout<<(!tmp.empty() ? "YES\n" : "NO\n");
    return 0;
}

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

bank.cpp: In function 'int main()':
bank.cpp:50:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |         for(int j=0; j<gg[i].size(); j++){
      |                      ~^~~~~~~~~~~~~
bank.cpp:51:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |             for(int k=0; k<tmp.size(); k++){
      |                          ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...