Submission #1884555


Source Code Expand

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

#define fi first
#define se second
#define mk(a,b) make_pair(a,b)

typedef pair<int,int> pii;
typedef pair<int,pii> pipii;

int INF = 1001001001;
int N;
int H,W;
vector<pipii> X,Y;
int dp[100010];
int ans = 0,MIN;

int main()
{
    scanf("%d%d",&W,&H);
    scanf("%d",&N);
    for(int i = 0; i < N; i++)
    {
        int t,d,x;
        scanf("%d%d%d",&t,&d,&x);
        if(d == 0)
        {
            X.push_back(mk(t,mk(2,x)));
            X.push_back(mk(t + 1,mk(0,x)));
            X.push_back(mk(t + 1,mk(1,-x)));
        }
        else
        {
            Y.push_back(mk(t,mk(2,x)));
            Y.push_back(mk(t + 1,mk(0,x)));
            Y.push_back(mk(t + 1,mk(1,-x)));
        }
    }
    sort(X.begin(),X.end());
    sort(Y.begin(),Y.end());

    memset(dp,0,sizeof(dp));
    dp[0] = dp[W + 1] = INF;
    for(int i = 0; i < X.size(); i++)
    {
        pipii now = X[i];
        if(now.se.fi == 2)dp[now.se.se] = INF;
        else if(now.se.fi == 0)dp[now.se.se] = min(dp[now.se.se + 1],dp[now.se.se - 1]) + 1;
        else if(now.se.fi == 1)
        {
            now.se.se *= -1;
            dp[now.se.se] = min(dp[now.se.se + 1],dp[now.se.se - 1]) + 1;
        }
    }
    MIN = 1001001001;
    for(int i = 1; i <= W; i++)MIN = min(MIN,dp[i]);
    ans += MIN;

    memset(dp,0,sizeof(dp));
    dp[0] = dp[H + 1] = INF;
    for(int i = 0; i < Y.size(); i++)
    {
        pipii now = Y[i];
        if(now.se.fi == 2)dp[now.se.se] = INF;
        else if(now.se.fi == 0)dp[now.se.se] = min(dp[now.se.se + 1],dp[now.se.se - 1]) + 1;
        else if(now.se.fi == 1)
        {
            now.se.se *= -1;
            dp[now.se.se] = min(dp[now.se.se + 1],dp[now.se.se - 1]) + 1;
        }
    }
    MIN = 1001001001;
    for(int i = 1; i <= H; i++)MIN = min(MIN,dp[i]);
    ans += MIN;

    if(ans >= INF)printf("-1\n");
    else printf("%d\n",ans);
    return 0;
}

Submission Info

Submission Time
Task C - ビーム
User unit
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2004 Byte
Status AC
Exec Time 59 ms
Memory 7536 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:20:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&W,&H);
                        ^
./Main.cpp:21:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&N);
                   ^
./Main.cpp:25:33: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d%d",&t,&d,&x);
                                 ^

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 3
AC × 33
AC × 63
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt
Subtask2 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 640 KB
sample_02.txt AC 1 ms 640 KB
sample_03.txt AC 1 ms 640 KB
subtask1_01.txt AC 1 ms 640 KB
subtask1_02.txt AC 1 ms 640 KB
subtask1_03.txt AC 1 ms 640 KB
subtask1_04.txt AC 1 ms 640 KB
subtask1_05.txt AC 1 ms 640 KB
subtask1_06.txt AC 1 ms 640 KB
subtask1_07.txt AC 1 ms 640 KB
subtask1_08.txt AC 1 ms 640 KB
subtask1_09.txt AC 1 ms 640 KB
subtask1_10.txt AC 1 ms 640 KB
subtask1_11.txt AC 1 ms 640 KB
subtask1_12.txt AC 1 ms 640 KB
subtask1_13.txt AC 1 ms 640 KB
subtask1_14.txt AC 1 ms 640 KB
subtask1_15.txt AC 1 ms 640 KB
subtask1_16.txt AC 1 ms 640 KB
subtask1_17.txt AC 1 ms 640 KB
subtask1_18.txt AC 1 ms 640 KB
subtask1_19.txt AC 1 ms 640 KB
subtask1_20.txt AC 1 ms 640 KB
subtask1_21.txt AC 1 ms 640 KB
subtask1_22.txt AC 1 ms 640 KB
subtask1_23.txt AC 1 ms 640 KB
subtask1_24.txt AC 1 ms 640 KB
subtask1_25.txt AC 1 ms 640 KB
subtask1_26.txt AC 1 ms 640 KB
subtask1_27.txt AC 1 ms 640 KB
subtask1_28.txt AC 1 ms 640 KB
subtask1_29.txt AC 1 ms 640 KB
subtask1_30.txt AC 1 ms 640 KB
subtask2_01.txt AC 50 ms 5752 KB
subtask2_02.txt AC 50 ms 6516 KB
subtask2_03.txt AC 47 ms 5984 KB
subtask2_04.txt AC 57 ms 5284 KB
subtask2_05.txt AC 57 ms 5988 KB
subtask2_06.txt AC 51 ms 6560 KB
subtask2_07.txt AC 49 ms 6252 KB
subtask2_08.txt AC 55 ms 6024 KB
subtask2_09.txt AC 55 ms 5800 KB
subtask2_10.txt AC 57 ms 5608 KB
subtask2_11.txt AC 59 ms 7408 KB
subtask2_12.txt AC 56 ms 5604 KB
subtask2_13.txt AC 49 ms 5840 KB
subtask2_14.txt AC 49 ms 5664 KB
subtask2_15.txt AC 2 ms 768 KB
subtask2_16.txt AC 1 ms 640 KB
subtask2_17.txt AC 56 ms 5772 KB
subtask2_18.txt AC 49 ms 4780 KB
subtask2_19.txt AC 53 ms 6768 KB
subtask2_20.txt AC 56 ms 5920 KB
subtask2_21.txt AC 50 ms 6216 KB
subtask2_22.txt AC 52 ms 5940 KB
subtask2_23.txt AC 47 ms 5984 KB
subtask2_24.txt AC 54 ms 4328 KB
subtask2_25.txt AC 56 ms 5636 KB
subtask2_26.txt AC 56 ms 6104 KB
subtask2_27.txt AC 56 ms 5992 KB
subtask2_28.txt AC 57 ms 7536 KB
subtask2_29.txt AC 58 ms 5984 KB
subtask2_30.txt AC 53 ms 6048 KB