Submission #2561008


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

const int INF=2e9;

int dp[2048][2048];
int n;

bool type[4048];
int a[4048];

int pos1[2048],pos2[2048];
set<int> ws1,ws2,bs1,bs2;
int bmark[4048][2048],smark[4048][2048];
int bsmall[4048][2048],ssmall[4048][2048];

inline int calc(int pos,int p1,int p2)
{
    return pos-bmark[pos][p1]-smark[pos][p2]-1;
}

int main ()
{
    int i,j;
    scanf("%d",&n);string ss;
    for (i=1;i<=n*2;i++)
    {
        cin>>ss;
        scanf("%d",&a[i]);
        if (ss=="B") type[i]=false; else type[i]=true;
        if (!type[i]) pos1[a[i]]=i; else pos2[a[i]]=i;
    }
    for (i=1;i<=n*2;i++)
        for (j=1;j<=i-1;j++)
            if (!type[j]) bmark[i][a[j]]++; else smark[i][a[j]]++;
    for (i=1;i<=n*2;i++)
        for (j=2;j<=n;j++)
        {
            bmark[i][j]+=bmark[i][j-1];
        }
    for (i=1;i<=n*2;i++)
        for (j=2;j<=n;j++)
            smark[i][j]+=smark[i][j-1];
    for (i=0;i<=n;i++)
        for (j=0;j<=n;j++)
            dp[i][j]=INF;
    dp[0][0]=0;
    for (i=0;i<=n;i++)
    {
        for (j=0;j<=n;j++)
        {
            if (!i && !j) continue;
            if (i) dp[i][j]=min(dp[i][j],dp[i-1][j]+calc(pos1[i],i-1,j));
            if (j) dp[i][j]=min(dp[i][j],dp[i][j-1]+calc(pos2[j],i,j-1));
        }
    }
    printf("%d\n",dp[n][n]);
    return 0;
}

Submission Info

Submission Time
Task E - Sorted and Sorted
User WarriorWang
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1389 Byte
Status AC
Exec Time 162 ms
Memory 82304 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:25:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&n);string ss;
                   ^
./Main.cpp:29:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&a[i]);
                          ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 36
Set Name Test Cases
Sample 0_000.txt, 0_001.txt, 0_002.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt, 1_026.txt, 1_027.txt, 1_028.txt, 1_029.txt, 1_030.txt, 1_031.txt, 1_032.txt, 1_033.txt, 1_034.txt, 1_035.txt
Case Name Status Exec Time Memory
0_000.txt AC 2 ms 6400 KB
0_001.txt AC 2 ms 6400 KB
0_002.txt AC 2 ms 6400 KB
1_003.txt AC 2 ms 6400 KB
1_004.txt AC 2 ms 6400 KB
1_005.txt AC 2 ms 6400 KB
1_006.txt AC 2 ms 6400 KB
1_007.txt AC 2 ms 6400 KB
1_008.txt AC 2 ms 6400 KB
1_009.txt AC 2 ms 6400 KB
1_010.txt AC 2 ms 4352 KB
1_011.txt AC 2 ms 6400 KB
1_012.txt AC 2 ms 4352 KB
1_013.txt AC 2 ms 4352 KB
1_014.txt AC 87 ms 78080 KB
1_015.txt AC 17 ms 30976 KB
1_016.txt AC 66 ms 67840 KB
1_017.txt AC 32 ms 47360 KB
1_018.txt AC 3 ms 10496 KB
1_019.txt AC 13 ms 26880 KB
1_020.txt AC 76 ms 71936 KB
1_021.txt AC 33 ms 47360 KB
1_022.txt AC 20 ms 37120 KB
1_023.txt AC 86 ms 67840 KB
1_024.txt AC 156 ms 82176 KB
1_025.txt AC 108 ms 82304 KB
1_026.txt AC 108 ms 82304 KB
1_027.txt AC 108 ms 82304 KB
1_028.txt AC 107 ms 82304 KB
1_029.txt AC 109 ms 82304 KB
1_030.txt AC 108 ms 82304 KB
1_031.txt AC 107 ms 82304 KB
1_032.txt AC 99 ms 82304 KB
1_033.txt AC 100 ms 82304 KB
1_034.txt AC 160 ms 82304 KB
1_035.txt AC 162 ms 82304 KB