QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#878087 | #9627. 算术 | galiyuu | WA | 1ms | 3712kb | C++23 | 1.2kb | 2025-02-01 13:28:32 | 2025-02-01 13:28:34 |
Judging History
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'