結果
問題 | No.1360 [Zelkova 4th Tune] 協和音 |
ユーザー |
![]() |
提出日時 | 2021-02-07 11:40:59 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 850 bytes |
コンパイル時間 | 1,998 ms |
コンパイル使用メモリ | 192,784 KB |
最終ジャッジ日時 | 2025-01-18 13:47:49 |
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 44 WA * 3 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i,n) for(ll i=0;i<n;i++) int main(){ int n; cin>>n; ll A[n]; ll B[n][n]; rep(i,n) cin>>A[i]; rep(i,n){ for(int j=0;j<n;j++) cin>>B[i][j]; } ll maxans=0; ll ans=0; int ansi=0; for(int i=0;i<(1<<n);i++){ ans=0; //単音合計 for(int j=0;j<n;j++){ if(i & (1<<j)){ ans+=A[j]; } } //和音修正 ll waon=0; for(int j=0;j<n;j++){ for(int k=0;k<n;k++){ if((i & (1<<j))&&(i& (1<<k))) waon+=B[j][k]; } } ans+=(waon/2); if(maxans<ans){ ansi=i; maxans=max(maxans,ans); } } cout<<maxans<<endl; int flag=1; for(int j=0;j<n;j++){ if(flag==0) cout<<" "; if(ansi & (1<<j)){ cout<<j+1; flag=0; } } cout<<endl; return 0; }