QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#615005#1882. DrunkardsMafuyuWA 0ms3608kbC++14917b2024-10-05 17:21:042024-10-05 17:21:05

Judging History

This is the latest submission verdict.

  • [2024-10-05 17:21:05]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3608kb
  • [2024-10-05 17:21:04]
  • Submitted

answer

#include <bits/stdc++.h>
#define int long long
#define pos_ (pos + 5000)

using namespace std;

const int N = 5010, M = 10010, MOD = 1e9 + 7;

int n, p;
int f[2][M], a[N];

int quick_power(int a, int b)
{
	int res = 1;
	while (b)
	{
		if (b & 1) (res *= a) %= MOD;
		(a *= a) %= MOD;
		b >>= 1;
	}
	
	return res;
}

signed main()
{	
	cin >> n >> p;
	for (int i = 1; i <= n; i ++ ) cin >> a[i];
	
	int qp = quick_power(100, MOD - 2);
	f[0][5000] = 1;
	for (int i = 1; i <= n; i ++ )
	{
		for (int pos = -n; pos <= n; pos ++ ) f[i & 1][pos_] = f[(i - 1) & 1][pos_];
		for (int pos = -n; pos <= n; pos ++ )
			f[i & 1][pos_] = f[(i - 1) & 1][pos_ - a[n - i + 1]] * (100 - p) % MOD * qp % MOD,
			(f[i & 1][pos_] += f[(i - 1) & 1][pos_] * p % MOD * qp % MOD) %= MOD;
		f[i & 1][5000] = 1;
	}
	
	for (int pos = -n; pos <= n; pos ++ ) cout << f[n & 1][pos_] << ' ';
	
	return 0;
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3608kb

input:

2 28
1 1

output:

0 0 1 11200001 68800001 

result:

wrong answer 1st numbers differ - expected: '702764025', found: '0'