QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#887883#10012. Make It RegularBreakPlusWA 137ms120448kbC++141.7kb2025-02-07 20:25:532025-02-07 20:25:53

Judging History

This is the latest submission verdict.

  • [2025-02-07 20:25:53]
  • Judged
  • Verdict: WA
  • Time: 137ms
  • Memory: 120448kb
  • [2025-02-07 20:25:53]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll,ll> P;
#define fi first
#define se second
#define mkp make_pair
#define pb emplace_back
#define popcnt __builtin_popcountll
const ll mod = 998244353;
inline ll read(){
	ll x=0, f=1; char ch=getchar();
	while(ch<'0' || ch>'9') { if(ch=='-') f=-1; ch=getchar(); }
	while(ch>='0' && ch<='9') x=x*10+ch-'0', ch=getchar();
	return x*f;
}
inline int lg2(int x){ return 31^__builtin_clz(x); }
inline ll lg2(ll x){ return 63^__builtin_clzll(x); }
inline void addmod(int &x){ if(x >= mod) x -= mod; }
inline void addmod(ll &x){ if(x >= mod) x -= mod; }
inline ll qpow(ll a,ll b){
	ll ans=1, base=a;
	while(b){
		if(b&1) ans=ans*base%mod;
		base=base*base%mod; b>>=1;
	}
	return ans;
}
inline ll INV(ll x){ return qpow(x, mod-2); };
int n; char s[6005];
int dp[6005][3005][2];
inline int ok(char ch){ return ch=='('?1:-1;}
void procedure(){
	n=read();
	int cnt=0, f=mod-1;
	scanf("%s", s);
	for(int i=0;i<n;i++){
		if(s[i]=='(') cnt++;
		else cnt--;
		if(cnt<0) f=0;
	}
	dp[0][0][0] = 1;
	for(int i=0;i<2*n;i++)
		for(int j=0;j<=n;j++)
			for(auto o: {0,1}){
				if(!dp[i][j][o]) continue;
				if(j+ok(s[i])>=0) addmod(dp[i+1][j+ok(s[i])][o] += dp[i][j][o]); // do not choose
				if(j) addmod(dp[i+1][j-1][1] += dp[i][j][o]);
				if(!o) addmod(dp[i+1][j+1][0] += dp[i][j][o]);
			}
	printf("%lld\n", ((ll)f+dp[2*n][0][0]+dp[2*n][0][1])%mod);
}
int main(){
	#ifdef LOCAL
		assert(freopen("input.txt","r",stdin));
		assert(freopen("output.txt","w",stdout));
	#endif
	ll T=1;
	// math_init();
	// NTT::init();
	while(T--) procedure();
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3840kb

input:

3
())(()

output:

36

result:

ok 1 number(s): "36"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

6
()))(())()((

output:

1536

result:

ok 1 number(s): "1536"

Test #3:

score: 0
Accepted
time: 111ms
memory: 120448kb

input:

3000
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))...

output:

572364310

result:

ok 1 number(s): "572364310"

Test #4:

score: 0
Accepted
time: 106ms
memory: 120320kb

input:

3000
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))...

output:

625414787

result:

ok 1 number(s): "625414787"

Test #5:

score: 0
Accepted
time: 113ms
memory: 120448kb

input:

3000
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))...

output:

518609146

result:

ok 1 number(s): "518609146"

Test #6:

score: 0
Accepted
time: 104ms
memory: 120448kb

input:

3000
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))...

output:

982003712

result:

ok 1 number(s): "982003712"

Test #7:

score: 0
Accepted
time: 113ms
memory: 120320kb

input:

3000
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()))))))))))))))))))))))))))))))...

output:

699842210

result:

ok 1 number(s): "699842210"

Test #8:

score: 0
Accepted
time: 109ms
memory: 120448kb

input:

3000
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))...

output:

92487102

result:

ok 1 number(s): "92487102"

Test #9:

score: 0
Accepted
time: 113ms
memory: 120448kb

input:

3000
)))))))))))())))())))))))))))))))))()))))))))))()))))))))))))()))))))())))))())))))()))))))())))()))))))))))()))))())))))))()))))))()))))))))()))()))))))()))))))()))())())))))))))))())))))()))))))())))))()))()))))))))))()))))))))))))())))))())))))))))())))))))())))))))()))))())))))))))())))))))...

output:

450713213

result:

ok 1 number(s): "450713213"

Test #10:

score: 0
Accepted
time: 118ms
memory: 120448kb

input:

3000
)))))()))))))())))()))))))))())))())))))))())))))))()))))))())))())))))))))()))))))()))())))))))))()))))))))()))))))())))()))))))()))())))))))))())))))())))))))()))))))))())()))())))))))))())))))))))()))())))))())))))()))))))))())))))))))))))))())))))))))))())))))))))))())))))))()))))))()))))))...

output:

584092325

result:

ok 1 number(s): "584092325"

Test #11:

score: 0
Accepted
time: 112ms
memory: 120448kb

input:

3000
)))())))())))())))))()))()))))))())))()))))())))()))()))))))()))))))))())))())))))()))()))()))))))))())))))())))))())()))))))())))))())))())))())))))))())))))))))()))))())))))()))()))))))))))())))))))))()))))))()))))()))))())))))))()))))))()))))())())))))()))())())))()))))))()))))())))()))))))(...

output:

497490320

result:

ok 1 number(s): "497490320"

Test #12:

score: 0
Accepted
time: 116ms
memory: 120448kb

input:

3000
))))()))))())()))))()))())()))))()))())))())))))()))))())))()))())()))))))())))))()))))))))())))())))))()))))))()))()))))()))()))))())))))))()))))))))())()))()))))()))()()))))())))()))()))))())))())))))()))))()))())))()))))())())))()))))()))()))))()))()))))))())()())))()))))))())))())))()))()))...

output:

893741400

result:

ok 1 number(s): "893741400"

Test #13:

score: 0
Accepted
time: 120ms
memory: 120192kb

input:

3000
))()))()())))()))())())()))()))()))())()))())(())())))())())))()())()()))()())())()()))()())())()))(())()()()())()()))()(())()()(()))())))))())())())))()((()())))())())())))())())()))())()()()))()())())()()()()))))(()(()))())())()))())()))())()())))())()(()()))(()())))))()))()())()(()()(()))))(...

output:

405246052

result:

ok 1 number(s): "405246052"

Test #14:

score: 0
Accepted
time: 124ms
memory: 120448kb

input:

3000
)))())())())())())()()))())())()))())()))()))))()()))()(())())))()((())()()))()(()))(()))))())))()())))()()())())))))())()()))(())))()))()))())())())))())()())())()))((())()))())())()())()))())))((()))))()())())()))())()(())))(()()())()))())())()))()())()))(())))()())()())))()))())(()))()))()))...

output:

604182464

result:

ok 1 number(s): "604182464"

Test #15:

score: 0
Accepted
time: 123ms
memory: 120448kb

input:

3000
))())())(()(()()())))()()(()))(()())())((())))())()()(())()))(())(()(((()(((((()()()()()()(((()((())())))())(())()(())()()(()())(()))()()()(()())(())()()(()()(()()()()(()())()())))(()(()()(()(()(()())())()()())()((())()(((())))())()(()(()((())()((())())())()()())())(())()()(()))(()()(((()(()))(...

output:

367367502

result:

ok 1 number(s): "367367502"

Test #16:

score: 0
Accepted
time: 137ms
memory: 120448kb

input:

3000
)()(()(()()(()(()()))(((((((()(()())((()(())((()(((()))())(()()()(()()()())()((())((()())(())(()()((())()())))()(((((()((()(()()()(())()()()())())))())(())()()()()((()(()(((()()((()(())(()))()))()())(())))()()()()())()))(())(()))((()()(())((()(()(()()))())()(((()())(())))()((()((((())(()()())()...

output:

602303293

result:

ok 1 number(s): "602303293"

Test #17:

score: 0
Accepted
time: 113ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((()(((((((((((((()((()((((((((((((((((((((((((((((((((((((((((((((((())((((((((((((()()(((((((((((()(((()((((((((((((((((((()(((((((()(((((((((()((((((((((((((((((((((((((((((()((((((((((((((()(()()()((((((()(()(((((((((((()(((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #18:

score: 0
Accepted
time: 124ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((())(((()()(((((((((()()(((((((((((((((((((((((((((()()(()((((((((((((((((((((((((((((((()(((((((()()(((((()(((((((((()(((()(((()()(((((((((((()(()(((((((((()((((()(((((((((()()((((()(((((((((((()((((((()(()(()(()(()()(()((((((()((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #19:

score: 0
Accepted
time: 129ms
memory: 120320kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #20:

score: 0
Accepted
time: 115ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #21:

score: 0
Accepted
time: 113ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #22:

score: 0
Accepted
time: 108ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #23:

score: 0
Accepted
time: 110ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #24:

score: 0
Accepted
time: 105ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #25:

score: 0
Accepted
time: 120ms
memory: 120320kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #26:

score: 0
Accepted
time: 110ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #27:

score: 0
Accepted
time: 103ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #28:

score: 0
Accepted
time: 99ms
memory: 120448kb

input:

3000
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...

output:

384656802

result:

ok 1 number(s): "384656802"

Test #29:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

10
))))()))())()(((((((

output:

94640

result:

ok 1 number(s): "94640"

Test #30:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

10
)))()()())())()(((((

output:

121600

result:

ok 1 number(s): "121600"

Test #31:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

10
)())))(((()(())(()()

output:

396032

result:

ok 1 number(s): "396032"

Test #32:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

10
)()()())(()(()(())()

output:

507904

result:

ok 1 number(s): "507904"

Test #33:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

10
(((()()(()())()))())

output:

1048575

result:

ok 1 number(s): "1048575"

Test #34:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

10
((((()()()()())())))

output:

1048575

result:

ok 1 number(s): "1048575"

Test #35:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

10
((((((())())())))())

output:

1048575

result:

ok 1 number(s): "1048575"

Test #36:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
(((())))

output:

255

result:

ok 1 number(s): "255"

Test #37:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
((()()))

output:

255

result:

ok 1 number(s): "255"

Test #38:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
(()(()))

output:

255

result:

ok 1 number(s): "255"

Test #39:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
()((()))

output:

255

result:

ok 1 number(s): "255"

Test #40:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
)(((()))

output:

120

result:

ok 1 number(s): "120"

Test #41:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
((())())

output:

255

result:

ok 1 number(s): "255"

Test #42:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
(()()())

output:

255

result:

ok 1 number(s): "255"

Test #43:

score: 0
Accepted
time: 1ms
memory: 3840kb

input:

4
()(()())

output:

255

result:

ok 1 number(s): "255"

Test #44:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
)((()())

output:

120

result:

ok 1 number(s): "120"

Test #45:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
(())(())

output:

255

result:

ok 1 number(s): "255"

Test #46:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
()()(())

output:

255

result:

ok 1 number(s): "255"

Test #47:

score: 0
Accepted
time: 1ms
memory: 3840kb

input:

4
)(()(())

output:

120

result:

ok 1 number(s): "120"

Test #48:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
())((())

output:

168

result:

ok 1 number(s): "168"

Test #49:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
)()((())

output:

112

result:

ok 1 number(s): "112"

Test #50:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
))(((())

output:

112

result:

ok 1 number(s): "112"

Test #51:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
((()))()

output:

255

result:

ok 1 number(s): "255"

Test #52:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
(()())()

output:

255

result:

ok 1 number(s): "255"

Test #53:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
()(())()

output:

255

result:

ok 1 number(s): "255"

Test #54:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
)((())()

output:

120

result:

ok 1 number(s): "120"

Test #55:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
(())()()

output:

255

result:

ok 1 number(s): "255"

Test #56:

score: 0
Accepted
time: 1ms
memory: 3840kb

input:

4
()()()()

output:

255

result:

ok 1 number(s): "255"

Test #57:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
)(()()()

output:

120

result:

ok 1 number(s): "120"

Test #58:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
())(()()

output:

168

result:

ok 1 number(s): "168"

Test #59:

score: 0
Accepted
time: 0ms
memory: 3712kb

input:

4
)()(()()

output:

112

result:

ok 1 number(s): "112"

Test #60:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

4
))((()()

output:

112

result:

ok 1 number(s): "112"

Test #61:

score: -100
Wrong Answer
time: 0ms
memory: 3840kb

input:

4
(()))(()

output:

167

result:

wrong answer 1st numbers differ - expected: '168', found: '167'