Submission #1985106


Source Code Expand

#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
vector<pair<char,int> >A;
vector<pair<char,int> >B;
vector<pair<char,int> >C;
vector<pair<char,int> >res;
void out(){
    int tmp=0;
    for(int i=0;i<res.size();i++){
        if(i+1==res.size()||res[i].first!=res[i+1].first){
            printf("%c %d ",res[i].first,tmp+res[i].second);
            tmp=0;
        }else{
            tmp+=res[i].second;
        }
    }
    printf("$\n");
}
char in[2];
int main(){
    while(1){
        scanf("%s",in);if(in[0]=='$')break;
        int p;scanf("%d",&p);
        A.push_back(make_pair(in[0],p));
    }
    while(1){
        scanf("%s",in);if(in[0]=='$')break;
        int p;scanf("%d",&p);
        B.push_back(make_pair(in[0],p));
    }
    while(1){
        scanf("%s",in);if(in[0]=='$')break;
        int p;scanf("%d",&p);
        C.push_back(make_pair(in[0],p));
    }
    for(int i=0;i+B.size()<=A.size();i++){
        bool ok=true;
        for(int j=0;j<B.size();j++){
            if(A[i+j].first!=B[j].first)ok=false;
            if(j+1<B.size()&&A[i+j].second!=B[j].second)ok=false;
            if(A[i+j].second<B[j].second)ok=false;
        }
        if(ok){
            for(int j=0;j<i;j++)res.push_back(A[j]);
            for(int j=0;j<C.size();j++)res.push_back(C[j]);
            if(A[i+B.size()-1].second!=B[B.size()-1].second)res.push_back(make_pair(A[i+B.size()-1].first,A[i+B.size()-1].second-B[B.size()-1].second));
            for(int j=i+B.size();j<A.size();j++)res.push_back(A[j]);
            out();
            return 0;
        }
        ok=true;
        for(int j=0;j<B.size();j++){
            if(A[i+j].first!=B[j].first)ok=false;
            if(j&&j+1<B.size()&&A[i+j].second!=B[j].second)ok=false;
            if(A[i+j].second<B[j].second)ok=false;
        }
        if(ok){
            for(int j=0;j<i;j++)res.push_back(A[j]);
            if(A[i].second!=B[0].second)res.push_back(make_pair(A[i].first,A[i].second-B[0].second));
            for(int j=0;j<C.size();j++)res.push_back(C[j]);
            if(A[i+B.size()-1].second!=B[B.size()-1].second)res.push_back(make_pair(A[i+B.size()-1].first,A[i+B.size()-1].second-B[B.size()-1].second));
            for(int j=i+B.size();j<A.size();j++)res.push_back(A[j]);
            out();
            return 0;
        }
    }
    for(int i=0;i<A.size();i++)printf("%c %d ",A[i].first,A[i].second);
    printf("$\n");
}

Submission Info

Submission Time
Task H - RLE Replacement
User tozangezan
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2483 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:24:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s",in);if(in[0]=='$')break;
                       ^
./Main.cpp:25:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         int p;scanf("%d",&p);
                             ^
./Main.cpp:29:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s",in);if(in[0]=='$')break;
                       ^
./Main.cpp:30:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         int p;scanf("%d",&p);
                             ^
./Main.cpp:34:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result...

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 114
Set Name Test Cases
All 00_sample_00, 00_sample_01, 01_rnd_00, 01_rnd_01, 01_rnd_02, 01_rnd_03, 01_rnd_04, 01_rnd_05, 01_rnd_06, 01_rnd_07, 01_rnd_08, 01_rnd_09, 01_rnd_10, 01_rnd_11, 01_rnd_12, 01_rnd_13, 01_rnd_14, 01_rnd_15, 01_rnd_16, 01_rnd_17, 01_rnd_18, 01_rnd_19, 01_rnd_20, 01_rnd_21, 01_rnd_22, 01_rnd_23, 01_rnd_24, 01_rnd_25, 01_rnd_26, 01_rnd_27, 01_rnd_28, 01_rnd_29, 02_small_00, 02_small_01, 02_small_02, 02_small_03, 02_small_04, 02_small_05, 02_small_06, 02_small_07, 02_small_08, 02_small_09, 02_small_10, 02_small_11, 02_small_12, 02_small_13, 02_small_14, 02_small_15, 02_small_16, 02_small_17, 02_small_18, 02_small_19, 02_small_20, 02_small_21, 02_small_22, 02_small_23, 02_small_24, 02_small_25, 02_small_26, 02_small_27, 02_small_28, 02_small_29, 02_small_30, 02_small_31, 02_small_32, 02_small_33, 02_small_34, 02_small_35, 02_small_36, 02_small_37, 02_small_38, 02_small_39, 02_small_40, 02_small_41, 02_small_42, 02_small_43, 02_small_44, 02_small_45, 02_small_46, 02_small_47, 02_small_48, 02_small_49, 03_resultmax_00, 03_resultmax_01, 03_resultmax_02, 03_resultmax_03, 03_resultmax_04, 03_resultmax_05, 03_resultmax_06, 03_resultmax_07, 03_resultmax_08, 03_resultmax_09, 03_resultmax_10, 03_resultmax_11, 03_resultmax_12, 03_resultmax_13, 03_resultmax_14, 03_resultmax_15, 03_resultmax_16, 03_resultmax_17, 03_resultmax_18, 03_resultmax_19, 90_teuchi_00, 90_teuchi_01, 90_teuchi_02, 90_teuchi_03, 90_teuchi_04, 90_teuchi_05, 90_teuchi_06, 90_teuchi_07, 90_teuchi_08, 90_teuchi_09, 90_teuchi_10, 90_teuchi_11
Case Name Status Exec Time Memory
00_sample_00 AC 1 ms 256 KB
00_sample_01 AC 1 ms 256 KB
01_rnd_00 AC 2 ms 256 KB
01_rnd_01 AC 2 ms 256 KB
01_rnd_02 AC 1 ms 256 KB
01_rnd_03 AC 2 ms 256 KB
01_rnd_04 AC 2 ms 256 KB
01_rnd_05 AC 1 ms 256 KB
01_rnd_06 AC 2 ms 256 KB
01_rnd_07 AC 1 ms 256 KB
01_rnd_08 AC 2 ms 256 KB
01_rnd_09 AC 2 ms 256 KB
01_rnd_10 AC 2 ms 256 KB
01_rnd_11 AC 2 ms 256 KB
01_rnd_12 AC 1 ms 256 KB
01_rnd_13 AC 2 ms 256 KB
01_rnd_14 AC 1 ms 256 KB
01_rnd_15 AC 2 ms 256 KB
01_rnd_16 AC 2 ms 256 KB
01_rnd_17 AC 2 ms 256 KB
01_rnd_18 AC 2 ms 256 KB
01_rnd_19 AC 2 ms 256 KB
01_rnd_20 AC 2 ms 256 KB
01_rnd_21 AC 2 ms 256 KB
01_rnd_22 AC 2 ms 256 KB
01_rnd_23 AC 2 ms 256 KB
01_rnd_24 AC 2 ms 256 KB
01_rnd_25 AC 2 ms 256 KB
01_rnd_26 AC 2 ms 256 KB
01_rnd_27 AC 2 ms 256 KB
01_rnd_28 AC 2 ms 256 KB
01_rnd_29 AC 2 ms 256 KB
02_small_00 AC 1 ms 256 KB
02_small_01 AC 1 ms 256 KB
02_small_02 AC 1 ms 256 KB
02_small_03 AC 1 ms 256 KB
02_small_04 AC 1 ms 256 KB
02_small_05 AC 1 ms 256 KB
02_small_06 AC 1 ms 256 KB
02_small_07 AC 1 ms 256 KB
02_small_08 AC 1 ms 256 KB
02_small_09 AC 1 ms 256 KB
02_small_10 AC 1 ms 256 KB
02_small_11 AC 1 ms 256 KB
02_small_12 AC 1 ms 256 KB
02_small_13 AC 1 ms 256 KB
02_small_14 AC 1 ms 256 KB
02_small_15 AC 1 ms 256 KB
02_small_16 AC 1 ms 256 KB
02_small_17 AC 1 ms 256 KB
02_small_18 AC 1 ms 256 KB
02_small_19 AC 1 ms 256 KB
02_small_20 AC 1 ms 256 KB
02_small_21 AC 1 ms 256 KB
02_small_22 AC 1 ms 256 KB
02_small_23 AC 2 ms 256 KB
02_small_24 AC 1 ms 256 KB
02_small_25 AC 1 ms 256 KB
02_small_26 AC 1 ms 256 KB
02_small_27 AC 1 ms 256 KB
02_small_28 AC 1 ms 256 KB
02_small_29 AC 1 ms 256 KB
02_small_30 AC 1 ms 256 KB
02_small_31 AC 1 ms 256 KB
02_small_32 AC 1 ms 256 KB
02_small_33 AC 1 ms 256 KB
02_small_34 AC 1 ms 256 KB
02_small_35 AC 1 ms 256 KB
02_small_36 AC 1 ms 256 KB
02_small_37 AC 1 ms 256 KB
02_small_38 AC 2 ms 256 KB
02_small_39 AC 1 ms 256 KB
02_small_40 AC 1 ms 256 KB
02_small_41 AC 1 ms 256 KB
02_small_42 AC 1 ms 256 KB
02_small_43 AC 1 ms 256 KB
02_small_44 AC 1 ms 256 KB
02_small_45 AC 1 ms 256 KB
02_small_46 AC 1 ms 256 KB
02_small_47 AC 1 ms 256 KB
02_small_48 AC 1 ms 256 KB
02_small_49 AC 1 ms 256 KB
03_resultmax_00 AC 2 ms 256 KB
03_resultmax_01 AC 2 ms 256 KB
03_resultmax_02 AC 2 ms 256 KB
03_resultmax_03 AC 2 ms 256 KB
03_resultmax_04 AC 2 ms 256 KB
03_resultmax_05 AC 2 ms 256 KB
03_resultmax_06 AC 2 ms 256 KB
03_resultmax_07 AC 2 ms 256 KB
03_resultmax_08 AC 2 ms 256 KB
03_resultmax_09 AC 2 ms 256 KB
03_resultmax_10 AC 2 ms 256 KB
03_resultmax_11 AC 2 ms 256 KB
03_resultmax_12 AC 2 ms 256 KB
03_resultmax_13 AC 2 ms 256 KB
03_resultmax_14 AC 2 ms 256 KB
03_resultmax_15 AC 2 ms 256 KB
03_resultmax_16 AC 2 ms 256 KB
03_resultmax_17 AC 2 ms 256 KB
03_resultmax_18 AC 2 ms 256 KB
03_resultmax_19 AC 2 ms 256 KB
90_teuchi_00 AC 1 ms 256 KB
90_teuchi_01 AC 1 ms 256 KB
90_teuchi_02 AC 1 ms 256 KB
90_teuchi_03 AC 1 ms 256 KB
90_teuchi_04 AC 1 ms 256 KB
90_teuchi_05 AC 1 ms 256 KB
90_teuchi_06 AC 1 ms 256 KB
90_teuchi_07 AC 2 ms 256 KB
90_teuchi_08 AC 1 ms 256 KB
90_teuchi_09 AC 1 ms 256 KB
90_teuchi_10 AC 1 ms 256 KB
90_teuchi_11 AC 1 ms 256 KB