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
AC × 3
AC × 26
AC × 3
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