# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
82561 | 2018-10-31T12:55:54 Z | thiago4532 | San (COCI17_san) | C++17 | 351 ms | 636 KB |
#include <bits/stdc++.h> using namespace std; const int maxn = 40; int h[maxn], c[maxn]; int n, k; int main(){ //ios::sync_with_stdio(false), cin.tie(0); cin >> n >> k; for(int i=1;i<=n;i++) cin >> h[i] >> c[i]; int ans=0; for(int i=1;i<(1<<n);i++){ vector<int> mark; int num=0; for(int j=1;j<=n;j++) if(i&(1<<(j-1))) mark.push_back(j), num += c[j]; // cout << "{"; // for(int i=0;i<mark.size();i++) // cout << mark[i] << ",}"[i==mark.size()-1]; // cout << "\n"; bool possible = (num >= k); if(!possible) continue; for(int j=0;j<mark.size()-1;j++){ if(h[mark[j+1]] < h[mark[j]]){ possible = false; break; } } if(possible) ++ans; } cout << ans << "\n"; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 351 ms | 636 KB | Output is correct |
2 | Incorrect | 336 ms | 636 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 636 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 636 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 636 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |