Submission #34340129
Source Code Expand
#include<bits/stdc++.h>
#define fi first
#define se second
#define ll long long
#define db double
#define pb push_back
#define ull unsigned long long
using namespace std;
const int mod=998244353;
int n,D,p[1005],q[1005];
ll dp[3005][2005],dp2[3005][2005],dp3[3005][2005],res;
signed main() {
//freopen("fuck.in","r",stdin);
cin>>n>>D;
for(int i=1;i<=n;i++) cin>>p[i];for(int i=1;i<=n;i++) cin>>q[i];
dp[1000][0]=1;
for(int i=1;i<=n;i++) {
int d=abs(p[i]-q[i]);
for(int j=0;j<=2000;j++) {
for(int k=0;k<=2000;k++) {
dp2[j][k]=dp3[j][k]=0;
}
}
for(int j=0;j<=2000;j++) {
for(int k=0;k<=2000;k++) {
if(dp[j][k]&&k+d<=2000) {
if(j>=d) dp2[j-d][k+d]+=dp[j][k];
else dp2[((j-d)%2+2)%2][k+d]+=dp[j][k];
dp2[j+d+2][k+d]-=dp[j][k];
if(j>=d) dp3[j-d][k+d+2]+=dp[j][k];
dp3[j+d][k+d+2]+=dp[j][k];
}
}
}
for(int j=0;j<=2000;j++) {
for(int k=0;k<=2000;k++) {
if(k>=2) dp3[j][k]+=dp3[j][k-2];
if(j>=2) dp2[j][k]+=dp2[j-2][k];
dp[j][k]=dp2[j][k]+dp3[j][k];dp[j][k]%=mod;
}
}
}
for(int i=0;i<=2000;i++) {
for(int j=0;j<=2000;j++) {
if(dp[i][j]) {
int x=(i-1000+j)/2,y=j-x;
if(x<=D&&y<=D) res=(res+dp[i][j])%mod;
}
}
}cout<<res;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Manhattan Cafe |
| User | duanyu |
| Language | C++ (GCC 9.2.1) |
| Score | 500 |
| Code Size | 1592 Byte |
| Status | AC |
| Exec Time | 1054 ms |
| Memory | 97624 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:15:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
15 | for(int i=1;i<=n;i++) cin>>p[i];for(int i=1;i<=n;i++) cin>>q[i];
| ^~~
./Main.cpp:15:37: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
15 | for(int i=1;i<=n;i++) cin>>p[i];for(int i=1;i<=n;i++) cin>>q[i];
| ^~~
Judge Result
| Set Name | Sample | All | after_contest | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | 0 / 0 | ||||||
| Status |
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 02_corner_00.txt, 02_corner_01.txt, 02_corner_02.txt, 02_corner_03.txt, 02_corner_04.txt, 02_corner_05.txt, 02_corner_06.txt, 02_corner_07.txt |
| after_contest | 99_after_contest_00.txt, 99_after_contest_01.txt, 99_after_contest_02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 88 ms | 97576 KiB |
| 00_sample_01.txt | AC | 124 ms | 97564 KiB |
| 00_sample_02.txt | AC | 259 ms | 97624 KiB |
| 01_random_00.txt | AC | 788 ms | 97444 KiB |
| 01_random_01.txt | AC | 860 ms | 97560 KiB |
| 01_random_02.txt | AC | 236 ms | 97440 KiB |
| 01_random_03.txt | AC | 123 ms | 97512 KiB |
| 01_random_04.txt | AC | 465 ms | 97456 KiB |
| 01_random_05.txt | AC | 990 ms | 97452 KiB |
| 01_random_06.txt | AC | 1011 ms | 97560 KiB |
| 01_random_07.txt | AC | 1010 ms | 97560 KiB |
| 01_random_08.txt | AC | 1010 ms | 97564 KiB |
| 01_random_09.txt | AC | 1017 ms | 97448 KiB |
| 01_random_10.txt | AC | 1013 ms | 97388 KiB |
| 01_random_11.txt | AC | 1018 ms | 97568 KiB |
| 01_random_12.txt | AC | 1007 ms | 97452 KiB |
| 01_random_13.txt | AC | 1011 ms | 97552 KiB |
| 01_random_14.txt | AC | 1016 ms | 97572 KiB |
| 02_corner_00.txt | AC | 1009 ms | 97564 KiB |
| 02_corner_01.txt | AC | 1008 ms | 97552 KiB |
| 02_corner_02.txt | AC | 1010 ms | 97396 KiB |
| 02_corner_03.txt | AC | 1011 ms | 97560 KiB |
| 02_corner_04.txt | AC | 84 ms | 97576 KiB |
| 02_corner_05.txt | AC | 86 ms | 97464 KiB |
| 02_corner_06.txt | AC | 91 ms | 97576 KiB |
| 02_corner_07.txt | AC | 85 ms | 97624 KiB |
| 99_after_contest_00.txt | AC | 1020 ms | 97568 KiB |
| 99_after_contest_01.txt | AC | 1054 ms | 97448 KiB |
| 99_after_contest_02.txt | AC | 1048 ms | 97560 KiB |