結果
問題 | No.1701 half price |
ユーザー |
![]() |
提出日時 | 2022-09-02 09:33:25 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 59 ms / 3,000 ms |
コード長 | 676 bytes |
コンパイル時間 | 170 ms |
コンパイル使用メモリ | 30,208 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-15 14:43:13 |
合計ジャッジ時間 | 1,068 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
#include<stdio.h> int main() { long long int n, w; scanf("%lld %lld", &n, &w); long long int a[16]; long long int i, j, k, l; for (i = 0; i < n; i++) scanf("%lld", &a[i]); long long int ans = 0, sum, f, cnt; long long int ind[16]; for (k = 1; k < (1 << n); k++) { cnt = 0; for (j = k, i = 0; i < n; i++, j /= 2) { if (j % 2 > 0) { ind[cnt] = i; cnt++; } } f = 0; for (l = 0; l < (1 << cnt); l++) { sum = 0; for (j = l, i = 0; i < cnt; i++, j /= 2) { if (j % 2 > 0) sum += a[ind[i]]; else sum += a[ind[i]] / 2; } if (sum == w) f++; } if (f > 0) ans++; } printf("%lld\n", ans); return 0; }