Submission #43421090


Source Code Expand

#include<bits/stdc++.h>
#define re register
#define int long long 
using namespace std;
inline int read(){
	re int t=0;re char v=getchar();
	while(v<'0')v=getchar();
	while(v>='0')t=(t<<3)+(t<<1)+v-48,v=getchar();
	return t;
}
const int M=998244353;
inline void add(re int &x,re int y){(x+=y)>=M?x-=M:x;}
inline int Mod(re int x){return x>=M?x-M:x;}
inline int ksm(re int x,re int y){
	re int s=1;
	while(y){
		if(y&1)s=1ll*s*x%M;
		x=1ll*x*x%M,y>>=1;
	}
	return s;
}
int t,n,m,a[1000002],ans,A,B,R[1000002],stk[1000002],tp,sum,f[6002][6002][2],g[6002][6002][2];
char s[1000002];
signed main(){
	n=read();
	scanf("%s",s+1);
	f[1][0][0]=1;
	for(re int i=1;i<=n+n;++i){
		if(s[i]!='+'){
			for(re int j=0;j<=i;++j)
				for(re int o=0;o<2;++o){
					re int nj,no,typ;
					if(o==0||j==0){
						nj=j+1,no=0,typ=M-i;	
					}
					else{
						nj=j-1,no=(j==1)?0:1,typ=i;
					}
					add(f[i+1][nj][no],f[i][j][o]);
					add(g[i+1][nj][no],g[i][j][o]);
					add(g[i+1][nj][no],1ll*f[i][j][o]*typ%M);
					
				} 
		}
		if(s[i]!='-'){
			for(re int j=0;j<=i;++j)
				for(re int o=0;o<2;++o){
					re int nj,no,typ;
					if(o==1||j==0){
						nj=j+1,no=1,typ=M-i;	
					}
					else{
						nj=j-1,no=0,typ=i;
					}
					add(f[i+1][nj][no],f[i][j][o]);
					add(g[i+1][nj][no],g[i][j][o]);
					add(g[i+1][nj][no],1ll*f[i][j][o]*typ%M);
				}
		}
	}
	printf("%d",g[n+n+1][0][0]);
}


Submission Info

Submission Time
Task D - 1D Coulomb
User gyh20
Language C++ (GCC 9.2.1)
Score 600
Code Size 1439 Byte
Status AC
Exec Time 768 ms
Memory 613432 KiB

Compile Error

./Main.cpp: In function ‘long long int read()’:
./Main.cpp:6:9: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
    6 |  re int t=0;re char v=getchar();
      |         ^
./Main.cpp:6:21: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
    6 |  re int t=0;re char v=getchar();
      |                     ^
./Main.cpp: At global scope:
./Main.cpp:12:25: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   12 | inline void add(re int &x,re int y){(x+=y)>=M?x-=M:x;}
      |                         ^
./Main.cpp:12:34: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   12 | inline void add(re int &x,re int y){(x+=y)>=M?x-=M:x;}
      |                                  ^
./Main.cpp:13:23: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   13 | inline int Mod(re int x){return x>=M?x-M:x;}
      |                       ^
./Main.cpp:14:23: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   14 | inline int ksm(re int x,re int y){
      |                       ^
./Main.cpp:14:32: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   14 | inline int ksm(re int x,re int y){
      |                                ^
./Main.cpp: In function ‘long long int ksm(long long int, long long int)’:
./Main.cpp:15:9: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   15 |  re int s=1;
      |         ^
./Main.cpp: In function ‘int main()’:
./Main.cpp:28:13: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   28 |  for(re int i=1;i<=n+n;++i){
      |             ^
./Main.cpp:30:15: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   30 |    for(re int j=0;j<=i;++j)
      |               ^
./Main.cpp:31:16: warning: ISO C++17 does not allow ‘register’ storage ...

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 42
Set Name Test Cases
Sample sample-01.txt, sample-02.txt
All in-01.txt, in-02.txt, in-03.txt, in-04.txt, in-05.txt, in-06.txt, in-07.txt, in-08.txt, in-09.txt, in-10.txt, in-11.txt, in-12.txt, in-13.txt, in-14.txt, in-15.txt, in-16.txt, in-17.txt, in-18.txt, in-19.txt, in-20.txt, in-21.txt, in-22.txt, in-23.txt, in-24.txt, in-25.txt, in-26.txt, in-27.txt, in-28.txt, in-29.txt, in-30.txt, in-31.txt, in-32.txt, in-33.txt, in-34.txt, in-35.txt, in-36.txt, in-37.txt, in-38.txt, in-39.txt, in-40.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
in-01.txt AC 7 ms 3744 KiB
in-02.txt AC 2 ms 3760 KiB
in-03.txt AC 2 ms 3816 KiB
in-04.txt AC 2 ms 3724 KiB
in-05.txt AC 3 ms 3656 KiB
in-06.txt AC 2 ms 3660 KiB
in-07.txt AC 2 ms 3548 KiB
in-08.txt AC 2 ms 3552 KiB
in-09.txt AC 768 ms 613180 KiB
in-10.txt AC 713 ms 613388 KiB
in-11.txt AC 717 ms 613328 KiB
in-12.txt AC 714 ms 613360 KiB
in-13.txt AC 664 ms 613320 KiB
in-14.txt AC 665 ms 613356 KiB
in-15.txt AC 668 ms 613356 KiB
in-16.txt AC 623 ms 613360 KiB
in-17.txt AC 616 ms 613432 KiB
in-18.txt AC 617 ms 613360 KiB
in-19.txt AC 712 ms 613384 KiB
in-20.txt AC 712 ms 613372 KiB
in-21.txt AC 710 ms 613388 KiB
in-22.txt AC 500 ms 429524 KiB
in-23.txt AC 615 ms 524720 KiB
in-24.txt AC 539 ms 495288 KiB
in-25.txt AC 544 ms 499892 KiB
in-26.txt AC 553 ms 550800 KiB
in-27.txt AC 423 ms 418244 KiB
in-28.txt AC 4 ms 4240 KiB
in-29.txt AC 6 ms 5040 KiB
in-30.txt AC 5 ms 4488 KiB
in-31.txt AC 5 ms 4560 KiB
in-32.txt AC 12 ms 5308 KiB
in-33.txt AC 4 ms 5056 KiB
in-34.txt AC 660 ms 553780 KiB
in-35.txt AC 611 ms 513004 KiB
in-36.txt AC 488 ms 410240 KiB
in-37.txt AC 640 ms 537512 KiB
in-38.txt AC 498 ms 501500 KiB
in-39.txt AC 293 ms 293604 KiB
in-40.txt AC 339 ms 340024 KiB
sample-01.txt AC 4 ms 3780 KiB
sample-02.txt AC 3 ms 3936 KiB