Submission #59914541
Source Code Expand
#include<bits/stdc++.h>
#define fo(i,l,r) for(int i=l;i<=r;++i)
#define fd(i,r,l) for(int i=r;i>=l;--i)
#define ll long long
#define I inline int
#define V inline void
#define B inline bool
#define L inline ll
#define pi pair<int,int>
#define mk make_pair
#define fi first
#define se second
#define pb push_back
#define vi vector<int>
#define vii vector<pi>
using namespace std;
const int N=2010,mod=998244353;
char St;
I read() {
int x=0,y=1;char c=getchar();
while(c<48||c>57) {if(c==45)y=-y;c=getchar();}
while(c>=48&&c<=57) x=(x<<1)+(x<<3)+(c^48),c=getchar();
return x*y;
}
int n,m,a[N],tot;
ll ans;
L ksm(ll x,int y) {
ll t(1);for(;y;y>>=1,x=x*x%mod) if(y&1)t=t*x%mod;return t;
}
V check() {
++tot;
a[0]=m+1;
fo(i,1,n) {
int mx(0),mn(m+1);
fo(j,0,i-1) mn=min(mn,a[j]);
fo(j,i,n) mx=max(mx,a[j]);
if(mn>mx) ans++;
}
}
V dfs(int x) {
if(x>n) {
check();return ;
}
if(a[x]!=-1) dfs(x+1);
else {
fo(i,1,m) a[x]=i,dfs(x+1),a[x]=-1;
}
}
char Ed;
int main() {
cerr<<"memory:"<<(&St-&Ed)/1024.0<<endl;
n=read();m=read();
fo(i,1,n) a[i]=read();
// dfs(1);
a[0]=m+1;
fo(i,1,n) {
int las(0),mn=m+1,sl(0),mx(0),sr(0);
fo(j,0,i-1) if(a[j]!=-1) mn=min(mn,a[j]);else sl++;
fo(j,i,n) if(a[j]!=-1) mx=max(mx,a[j]);else sr++;
// printf("!! %d %d %d %d\n",mn,mx,sl,sr);
fd(j,mn,mx+1) {
ll now=ksm(m-j+1,sl);
ans+=(now-las)*ksm(j-1,sr)%mod;
las=now;
}
// printf("%d\n",ans);
}
printf("%lld\n",(ans%mod+mod)%mod);
cerr<<"time:"<<clock()<<endl;
return 0;
}
Submission Info
| Submission Time |
|
| Task |
B - Sum of CC |
| User |
OIer2008 |
| Language |
C++ 20 (gcc 12.2) |
| Score |
600 |
| Code Size |
1568 Byte |
| Status |
AC |
| Exec Time |
217 ms |
| Memory |
3920 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
600 / 600 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All |
00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 00_sample_01.txt |
AC |
1 ms |
3808 KiB |
| 00_sample_02.txt |
AC |
1 ms |
3840 KiB |
| 00_sample_03.txt |
AC |
1 ms |
3836 KiB |
| 01_test_01.txt |
AC |
3 ms |
3916 KiB |
| 01_test_02.txt |
AC |
3 ms |
3884 KiB |
| 01_test_03.txt |
AC |
3 ms |
3804 KiB |
| 01_test_04.txt |
AC |
4 ms |
3808 KiB |
| 01_test_05.txt |
AC |
3 ms |
3848 KiB |
| 01_test_06.txt |
AC |
4 ms |
3752 KiB |
| 01_test_07.txt |
AC |
4 ms |
3776 KiB |
| 01_test_08.txt |
AC |
4 ms |
3688 KiB |
| 01_test_09.txt |
AC |
4 ms |
3920 KiB |
| 01_test_10.txt |
AC |
3 ms |
3820 KiB |
| 01_test_11.txt |
AC |
4 ms |
3700 KiB |
| 01_test_12.txt |
AC |
4 ms |
3688 KiB |
| 01_test_13.txt |
AC |
3 ms |
3884 KiB |
| 01_test_14.txt |
AC |
3 ms |
3800 KiB |
| 01_test_15.txt |
AC |
3 ms |
3816 KiB |
| 01_test_16.txt |
AC |
3 ms |
3808 KiB |
| 01_test_17.txt |
AC |
3 ms |
3808 KiB |
| 01_test_18.txt |
AC |
1 ms |
3880 KiB |
| 01_test_19.txt |
AC |
1 ms |
3852 KiB |
| 01_test_20.txt |
AC |
1 ms |
3688 KiB |
| 01_test_21.txt |
AC |
1 ms |
3776 KiB |
| 01_test_22.txt |
AC |
1 ms |
3768 KiB |
| 01_test_23.txt |
AC |
5 ms |
3884 KiB |
| 01_test_24.txt |
AC |
5 ms |
3748 KiB |
| 01_test_25.txt |
AC |
19 ms |
3856 KiB |
| 01_test_26.txt |
AC |
3 ms |
3812 KiB |
| 01_test_27.txt |
AC |
3 ms |
3784 KiB |
| 01_test_28.txt |
AC |
4 ms |
3816 KiB |
| 01_test_29.txt |
AC |
3 ms |
3828 KiB |
| 01_test_30.txt |
AC |
3 ms |
3880 KiB |
| 01_test_31.txt |
AC |
217 ms |
3852 KiB |
| 01_test_32.txt |
AC |
1 ms |
3696 KiB |
| 01_test_33.txt |
AC |
1 ms |
3864 KiB |
| 01_test_34.txt |
AC |
3 ms |
3756 KiB |