提出 #46889034
ソースコード 拡げる
#include<bits/stdc++.h>
#define LL long long
#define DB double
#define MOD 998244353
#define ls(x) (x << 1)
#define rs(x) (x << 1 | 1)
#define lowbit(x) ((-x) & x)
#define MP make_pair
#define MT make_tuple
#define VI vector<int>
#define VL vector<LL>
#define VII VI::iterator
#define VLI VL::iterator
#define all(x) x.begin(), x.end()
#define EB emplace_back
#define PII pair<int, int>
#define SI set<int>
#define SII SI::iterator
#define fi first
#define se second
using namespace std;
template<typename T> void chkmn(T &a, const T b) { (a > b) && (a = b); }
template<typename T> void chkmx(T &a, const T b) { (a < b) && (a = b); }
void Inc(int &a, const int &b) { ((a += b) >= MOD) && (a -= MOD); }
void Dec(int &a, const int &b) { ((a -= b) < 0) && (a += MOD); }
void Mul(int &a, const int &b) { a = 1LL * a * b % MOD; }
void Sqr(int &a) { a = 1LL * a * a % MOD; }
int inc(const int &a, const int &b) { return (a + b >= MOD) ? a + b - MOD : a + b; }
int dec(const int &a, const int &b) { return (a - b < 0) ? a - b + MOD : a - b; }
int mul(const int &a, const int &b) { return 1LL * a * b % MOD; }
int sqr(const int &a) { return 1LL * a * a % MOD; }
int qwqmi(int x, int k = MOD - 2)
{
int res = 1;
while(k)
{
if(k & 1) Mul(res, x);
k >>= 1, Sqr(x);
}
return res;
}
const int N = 17;
const int M = 1 << N;
const int INF = 1e9;
int n, K;
int w[N][N], sumw[N][M], f[M];
int main()
{
scanf("%d %d", &n, &K);
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j)
scanf("%d", &w[i][j]);
for(int i = 0; i < n; ++i)
{
for(int S = 0; S < (1 << n); ++S)
for(int j = 0; j < n; ++j)
if((S >> j) & 1)
sumw[i][S] += w[i][j];
}
f[0] = 0;
for(int S = 0; S < (1 << n); ++S)
{
int _S = S ^ ((1 << n) - 1);
for(int T = _S; T; T = _S & (T - 1))
{
int cost = 0;
for(int i = 0; i < n; ++i)
if((S >> i) & 1)
cost += sumw[i][T];
chkmx(f[S | T], f[S] + K - cost);
}
}
printf("%d\n", f[(1 << n) - 1]);
// printf("!!! %d\n", f[5]);
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - 部門分け |
| ユーザ | Schucking_Sattin |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 100 |
| コード長 | 2070 Byte |
| 結果 | AC |
| 実行時間 | 1910 ms |
| メモリ | 13152 KiB |
コンパイルエラー
Main.cpp: In function ‘int main()’:
Main.cpp:49:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
49 | scanf("%d %d", &n, &K);
| ~~~~~^~~~~~~~~~~~~~~~~
Main.cpp:52:30: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
52 | scanf("%d", &w[i][j]);
| ~~~~~^~~~~~~~~~~~~~~~
ジャッジ結果
| セット名 | Sample | Subtask0 | Subtask1 | All | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 40 / 40 | 40 / 40 | 20 / 20 | ||||||||
| 結果 |
|
|
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample0.txt, sample1.txt, sample2.txt |
| Subtask0 | subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, sample0.txt, sample1.txt, sample2.txt |
| Subtask1 | subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, sample0.txt, sample1.txt, sample2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt |
| All | sample0.txt, sample1.txt, sample2.txt, subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt, subtask2_0.txt, subtask2_1.txt, subtask2_10.txt, subtask2_2.txt, subtask2_3.txt, subtask2_4.txt, subtask2_5.txt, subtask2_6.txt, subtask2_7.txt, subtask2_8.txt, subtask2_9.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample0.txt | AC | 1 ms | 3688 KiB |
| sample1.txt | AC | 1 ms | 3620 KiB |
| sample2.txt | AC | 1 ms | 3964 KiB |
| subtask0_0.txt | AC | 1 ms | 3980 KiB |
| subtask0_1.txt | AC | 2 ms | 3764 KiB |
| subtask0_2.txt | AC | 1 ms | 3840 KiB |
| subtask0_3.txt | AC | 1 ms | 3800 KiB |
| subtask0_4.txt | AC | 2 ms | 3732 KiB |
| subtask0_5.txt | AC | 1 ms | 3912 KiB |
| subtask0_6.txt | AC | 1 ms | 3912 KiB |
| subtask0_7.txt | AC | 1 ms | 3632 KiB |
| subtask0_8.txt | AC | 2 ms | 3632 KiB |
| subtask0_9.txt | AC | 1 ms | 3800 KiB |
| subtask1_0.txt | AC | 203 ms | 5792 KiB |
| subtask1_1.txt | AC | 203 ms | 5912 KiB |
| subtask1_10.txt | AC | 208 ms | 5792 KiB |
| subtask1_2.txt | AC | 204 ms | 5868 KiB |
| subtask1_3.txt | AC | 205 ms | 5712 KiB |
| subtask1_4.txt | AC | 204 ms | 6024 KiB |
| subtask1_5.txt | AC | 204 ms | 5948 KiB |
| subtask1_6.txt | AC | 204 ms | 5768 KiB |
| subtask1_7.txt | AC | 207 ms | 5872 KiB |
| subtask1_8.txt | AC | 207 ms | 6048 KiB |
| subtask1_9.txt | AC | 205 ms | 5788 KiB |
| subtask2_0.txt | AC | 1890 ms | 13152 KiB |
| subtask2_1.txt | AC | 1892 ms | 12912 KiB |
| subtask2_10.txt | AC | 1910 ms | 12872 KiB |
| subtask2_2.txt | AC | 1893 ms | 12916 KiB |
| subtask2_3.txt | AC | 1899 ms | 13016 KiB |
| subtask2_4.txt | AC | 1897 ms | 12920 KiB |
| subtask2_5.txt | AC | 1895 ms | 13152 KiB |
| subtask2_6.txt | AC | 1896 ms | 13068 KiB |
| subtask2_7.txt | AC | 1903 ms | 12892 KiB |
| subtask2_8.txt | AC | 1901 ms | 13064 KiB |
| subtask2_9.txt | AC | 1909 ms | 12932 KiB |