QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#878087#9627. 算术galiyuuWA 1ms3712kbC++231.2kb2025-02-01 13:28:322025-02-01 13:28:34

Judging History

This is the latest submission verdict.

  • [2025-02-01 13:28:34]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3712kb
  • [2025-02-01 13:28:32]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;++i)
#define per(i,a,n) for(int i=n-1;i>=a;--i)
#define pb push_back
#define mp make_pair
#define eb emplace_back
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
#define endl '\n'
#define SZ(x) ((ll)(x).size())
typedef vector<int> vi;
typedef vector<long long> vl;
typedef long long ll;
typedef pair<int,int> pii;
typedef double db;
mt19937 mrand(random_device{}());
int rnd(int x){return mrand()%x;}
const ll mod=998244353;

ll powmod(ll a,ll b,ll p=mod) {
	ll res=1,t=a;
	while (b) {
		if (b&1) res=res*t%p;
		t=t*t%p;
		b>>=1;
	}
	return res;
}

signed main() {
	int tc;
	scanf("%d",&tc);
	while (tc--) {
		vi vi_a(15);
		rep(i,0,9) scanf("%d",&vi_a[i]);
		int i_tmp=vi_a[0]+2*vi_a[1];
		vi_a[0]=vi_a[1]=0;
		vi_a[2]+=i_tmp/3,i_tmp%=3;
		if (i_tmp==2) {
			vi_a[1]=1;
			i_tmp=0;
		}
		rep(i,2,9) {
			if (!i_tmp) break;
			else {
				int disc=min(vi_a[i],i_tmp);
				vi_a[i]-=disc;
				vi_a[i+1]+=disc;
				i_tmp-=disc;
			}
		}
		ll ans=0;
		rep(i,0,15) {
			// cerr<<vi_a[i]<<endl;
			if (!ans) ans=powmod(i+1,vi_a[i]);
			else ans*=powmod(i+1,vi_a[i]),ans%=mod;
		}
		cout<<ans<<endl;
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3712kb

input:

7
5 3 0 0 0 0 0 0 0
4 1 1 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 2
99 88 77 66 55 44 33 22 11
100 90 80 70 60 50 40 30 20

output:

54
108
1
10
90
90553232
143532368

result:

ok 7 lines

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 3712kb

input:

1000
22 80 50 23 35 71 81 70 96
40 33 36 2 51 52 96 5 32
56 35 85 13 58 80 26 14 31
60 21 8 19 79 5 94 44 33
85 55 10 59 76 98 28 22 69
14 72 40 14 100 68 5 18 69
95 42 51 0 32 97 37 34 85
54 33 18 40 34 10 72 72 68
81 47 80 23 23 68 40 3 71
58 7 36 79 89 83 5 68 16
30 3 82 79 35 28 30 55 88
17 86 2...

output:

432037599
321820208
765709043
819408880
639261805
19018681
7172464
780360907
240853384
151457742
298466126
414177521
124742738
386480459
493291429
719873118
409158325
951979430
941776601
136242321
440485591
163247072
78098984
933871175
308024444
168349368
423889166
526374238
827159852
914298923
4652...

result:

wrong answer 1st lines differ - expected: '376701872', found: '432037599'