Submission #2337426
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define int long long void Output(vector< pair< char, int > >& B) { int tal = B.size() - 2; for(int i = B.size() - 1; i > 0; i--) { tal = min(tal, i - 1); while(tal > 0 && B[tal].second == 0) --tal; if(B[i].first == B[tal].first) { B[tal].second += B[i].second; B[i].second = 0; } } for(int i = 0; i < B.size(); i++) { if(B[i].second > 0) { cout << B[i].first << " " << B[i].second << " "; } } cout << "$" << endl; exit(0); } signed main() { vector< pair< char, int > > A[3]; vector< pair< char, int > > B; for(int i = 0; i < 3; i++) { char C; while(cin >> C, C != '$') { int D; cin >> D; A[i].emplace_back(C, D); } } if(A[1].size() == 1) { for(int i = 0; i < A[0].size(); i++) { if(A[0][i].first == A[1][0].first && A[0][i].second >= A[1][0].second) { for(int j = 0; j < i; j++) { B.emplace_back(A[0][j].first, A[0][j].second); } for(int j = 0; j < A[2].size(); j++) { B.emplace_back(A[2][j].first, A[2][j].second); } if(A[0][i].second != A[1][0].second) { B.emplace_back(A[0][i].first, A[0][i].second - A[1][0].second); } for(int j = i + 1; j < A[0].size(); j++) { B.emplace_back(A[0][j].first, A[0][j].second); } Output(B); } } } else { for(int i = 0; i <= (int)A[0].size() - (int)A[1].size(); i++) { if(A[0][i].first == A[1][0].first && A[0][i].second >= A[1][0].second && A[0][i + A[1].size() - 1].first == A[1].back().first && A[0][i + A[1].size() - 1].second >= A[1].back().second) { bool flag = true; for(int j = 1; j < A[1].size() - 1; j++) { flag &= A[0][i + j] == A[1][j]; } if(!flag) continue; for(int j = 0; j < i; j++) { B.emplace_back(A[0][j].first, A[0][j].second); } if(A[0][i].second != A[1][0].second) { B.emplace_back(A[0][i].first, A[0][i].second - A[1][0].second); } for(int j = 0; j < A[2].size(); j++) { B.emplace_back(A[2][j].first, A[2][j].second); } if(A[0][i + A[1].size() - 1].second != A[1].back().second) { B.emplace_back(A[0][i + A[1].size() - 1].first, A[0][i + A[1].size() - 1].second - A[1].back().second); } for(int j = i + A[1].size(); j < A[0].size(); j++) { B.emplace_back(A[0][j].first, A[0][j].second); } Output(B); } } } for(int i = 0; i < A[0].size(); i++) { B.emplace_back(A[0][i].first, A[0][i].second); } Output(B); }
Submission Info
Submission Time | |
---|---|
Task | H - RLE Replacement |
User | ei13333 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2755 Byte |
Status | AC |
Exec Time | 3 ms |
Memory | 384 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
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 | 384 KB |
01_rnd_01 | AC | 3 ms | 384 KB |
01_rnd_02 | AC | 2 ms | 256 KB |
01_rnd_03 | AC | 2 ms | 384 KB |
01_rnd_04 | AC | 2 ms | 256 KB |
01_rnd_05 | AC | 2 ms | 256 KB |
01_rnd_06 | AC | 2 ms | 384 KB |
01_rnd_07 | AC | 2 ms | 256 KB |
01_rnd_08 | AC | 2 ms | 256 KB |
01_rnd_09 | AC | 2 ms | 384 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 | 384 KB |
01_rnd_14 | AC | 2 ms | 256 KB |
01_rnd_15 | AC | 3 ms | 384 KB |
01_rnd_16 | AC | 3 ms | 384 KB |
01_rnd_17 | AC | 3 ms | 384 KB |
01_rnd_18 | AC | 3 ms | 384 KB |
01_rnd_19 | AC | 2 ms | 384 KB |
01_rnd_20 | AC | 2 ms | 384 KB |
01_rnd_21 | AC | 2 ms | 384 KB |
01_rnd_22 | AC | 2 ms | 384 KB |
01_rnd_23 | AC | 2 ms | 384 KB |
01_rnd_24 | AC | 2 ms | 384 KB |
01_rnd_25 | AC | 3 ms | 384 KB |
01_rnd_26 | AC | 3 ms | 384 KB |
01_rnd_27 | AC | 3 ms | 384 KB |
01_rnd_28 | AC | 3 ms | 384 KB |
01_rnd_29 | AC | 2 ms | 384 KB |
02_small_00 | AC | 2 ms | 256 KB |
02_small_01 | AC | 1 ms | 256 KB |
02_small_02 | AC | 1 ms | 256 KB |
02_small_03 | AC | 2 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 | 2 ms | 256 KB |
02_small_09 | AC | 1 ms | 256 KB |
02_small_10 | AC | 1 ms | 256 KB |
02_small_11 | AC | 2 ms | 384 KB |
02_small_12 | AC | 2 ms | 384 KB |
02_small_13 | AC | 1 ms | 256 KB |
02_small_14 | AC | 2 ms | 384 KB |
02_small_15 | AC | 1 ms | 256 KB |
02_small_16 | AC | 1 ms | 256 KB |
02_small_17 | AC | 2 ms | 384 KB |
02_small_18 | AC | 2 ms | 256 KB |
02_small_19 | AC | 2 ms | 384 KB |
02_small_20 | AC | 2 ms | 384 KB |
02_small_21 | AC | 1 ms | 256 KB |
02_small_22 | AC | 2 ms | 256 KB |
02_small_23 | AC | 2 ms | 256 KB |
02_small_24 | AC | 2 ms | 256 KB |
02_small_25 | AC | 1 ms | 256 KB |
02_small_26 | AC | 1 ms | 256 KB |
02_small_27 | AC | 2 ms | 384 KB |
02_small_28 | AC | 2 ms | 256 KB |
02_small_29 | AC | 2 ms | 384 KB |
02_small_30 | AC | 2 ms | 256 KB |
02_small_31 | AC | 2 ms | 256 KB |
02_small_32 | AC | 1 ms | 256 KB |
02_small_33 | AC | 2 ms | 384 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 | 384 KB |
02_small_39 | AC | 2 ms | 256 KB |
02_small_40 | AC | 2 ms | 256 KB |
02_small_41 | AC | 2 ms | 256 KB |
02_small_42 | AC | 2 ms | 384 KB |
02_small_43 | AC | 2 ms | 256 KB |
02_small_44 | AC | 2 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 | 2 ms | 384 KB |
02_small_49 | AC | 2 ms | 384 KB |
03_resultmax_00 | AC | 2 ms | 384 KB |
03_resultmax_01 | AC | 2 ms | 384 KB |
03_resultmax_02 | AC | 2 ms | 384 KB |
03_resultmax_03 | AC | 2 ms | 384 KB |
03_resultmax_04 | AC | 2 ms | 384 KB |
03_resultmax_05 | AC | 2 ms | 384 KB |
03_resultmax_06 | AC | 2 ms | 384 KB |
03_resultmax_07 | AC | 2 ms | 384 KB |
03_resultmax_08 | AC | 2 ms | 384 KB |
03_resultmax_09 | AC | 2 ms | 384 KB |
03_resultmax_10 | AC | 2 ms | 384 KB |
03_resultmax_11 | AC | 2 ms | 384 KB |
03_resultmax_12 | AC | 2 ms | 384 KB |
03_resultmax_13 | AC | 2 ms | 384 KB |
03_resultmax_14 | AC | 2 ms | 384 KB |
03_resultmax_15 | AC | 2 ms | 384 KB |
03_resultmax_16 | AC | 2 ms | 384 KB |
03_resultmax_17 | AC | 2 ms | 256 KB |
03_resultmax_18 | AC | 2 ms | 384 KB |
03_resultmax_19 | AC | 2 ms | 384 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 | 2 ms | 256 KB |
90_teuchi_09 | AC | 2 ms | 256 KB |
90_teuchi_10 | AC | 1 ms | 256 KB |
90_teuchi_11 | AC | 1 ms | 256 KB |