提出 #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
結果
AC × 3
AC × 13
AC × 24
AC × 35
セット名 テストケース
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