結果
問題 | No.1360 [Zelkova 4th Tune] 協和音 |
ユーザー |
![]() |
提出日時 | 2021-07-15 15:30:55 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 109 ms / 2,000 ms |
コード長 | 866 bytes |
コンパイル時間 | 135 ms |
コンパイル使用メモリ | 30,720 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-04 15:42:18 |
合計ジャッジ時間 | 5,071 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 47 |
ソースコード
#include<stdio.h>int main(){int n;scanf("%d", &n);int i, j, k;long long int a[22];for (i = 0; i < n; i++)scanf("%lld", &a[i]);long long int b[22][22];for (i = 0; i < n; i++)for (j = 0; j < n; j++)scanf("%lld", &b[i][j]);long long int ans_w = a[0], ans_k = 1;long long int max = 1, w;for (i = 0; i < n; i++)max *= 2;int v[22];for (k = 1; k < max; k++){for (i = 0, j = k; i < n; i++, j /= 2)v[i] = j % 2;w = 0;for (i = 0; i < n; i++)if (v[i] > 0)w += a[i];for (i = 0; i < n; i++)for (j = i; j < n; j++)if (v[i] * v[j] > 0)w += b[i][j];if (w > ans_w){ans_w = w;ans_k = k;}}printf("%lld\n", ans_w);for (i = 0; i < n; i++, ans_k /= 2){if (ans_k % 2 > 0){printf("%d", i + 1);if (ans_k > 1)printf(" ");elseprintf("\n");}}return 0;}