# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
82563 | 2018-10-31T12:59:06 Z | thiago4532 | San (COCI17_san) | C++17 | 473 ms | 620 KB |
#include <bits/stdc++.h> #define int int64_t using namespace std; const int maxn = 40; int h[maxn], c[maxn]; int n, k; int32_t 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 | Correct | 3 ms | 376 KB | Output is correct |
2 | Correct | 11 ms | 376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 463 ms | 488 KB | Output is correct |
2 | Correct | 473 ms | 492 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 492 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 544 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 620 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |