Submission #2152290
Source Code Expand
#include <iostream> #include <string> using namespace std; string S; int dp[500009][27], nex[500009][22]; int main() { cin >> S; for (int i = 0; i <= S.size(); i++) { for (int j = 0; j < 27; j++) dp[i][j] = (1 << 30); } for (int i = S.size() - 1; i >= 0; i--) { int A = S[i] - 'a'; for (int j = 0; j <= 26; j++) { if (j == A) dp[i][j] = i + 1; if (j > A) { int cx = i + 1; for (int k = A; k < j; k++) { if (dp[cx][k] == (1 << 30)) { cx = (1 << 30); break; } cx = dp[cx][k]; } dp[i][j] = cx; } if (j < A) { int cx = i + 1; for (int k = A; k < 26; k++) { if (dp[cx][k] == (1 << 30)) { cx = (1 << 30); break; } cx = dp[cx][k]; } if (cx == (1 << 30)) continue; dp[i][j] = dp[cx][j]; } } } for (int i = 0; i <= S.size(); i++) { for (int j = 0; j <= 20; j++) nex[i][j] = (1 << 30); } for (int i = 0; i < S.size(); i++) nex[i][0] = dp[i][26]; for (int i = 0; i < 20; i++) { for (int j = 0; j < S.size(); j++) { if (nex[j][i] == (1 << 30)) continue; nex[j][i + 1] = nex[nex[j][i]][i]; } } int Q; cin >> Q; for (int i = 1; i <= Q; i++) { int L, R; cin >> L >> R; L--; R--; int cx = L; for (int j = 20; j >= 0; j--) { if (nex[cx][j] <= R + 1) cx = nex[cx][j]; } if (cx == R + 1) cout << "Yes" << endl; else cout << "No" << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Robot and String |
User | E869120 |
Language | C++14 (GCC 5.4.1) |
Score | 1300 |
Code Size | 1404 Byte |
Status | AC |
Exec Time | 630 ms |
Memory | 96900 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1300 / 1300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 0_00.txt, 0_01.txt, 0_02.txt |
All | 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt, 1_55.txt, 1_56.txt, 1_57.txt, 1_58.txt, 1_59.txt, 1_60.txt, 1_61.txt, 1_62.txt, 1_63.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_00.txt | AC | 2 ms | 2304 KB |
0_01.txt | AC | 2 ms | 2304 KB |
0_02.txt | AC | 2 ms | 2304 KB |
1_00.txt | AC | 197 ms | 2560 KB |
1_01.txt | AC | 202 ms | 2560 KB |
1_02.txt | AC | 611 ms | 96900 KB |
1_03.txt | AC | 623 ms | 96900 KB |
1_04.txt | AC | 630 ms | 96900 KB |
1_05.txt | AC | 626 ms | 96900 KB |
1_06.txt | AC | 509 ms | 96900 KB |
1_07.txt | AC | 500 ms | 96900 KB |
1_08.txt | AC | 439 ms | 96900 KB |
1_09.txt | AC | 440 ms | 96900 KB |
1_10.txt | AC | 436 ms | 96900 KB |
1_11.txt | AC | 433 ms | 96900 KB |
1_12.txt | AC | 453 ms | 96900 KB |
1_13.txt | AC | 441 ms | 96900 KB |
1_14.txt | AC | 434 ms | 96900 KB |
1_15.txt | AC | 443 ms | 96900 KB |
1_16.txt | AC | 440 ms | 96900 KB |
1_17.txt | AC | 444 ms | 96900 KB |
1_18.txt | AC | 449 ms | 96900 KB |
1_19.txt | AC | 450 ms | 96900 KB |
1_20.txt | AC | 439 ms | 96900 KB |
1_21.txt | AC | 442 ms | 96900 KB |
1_22.txt | AC | 449 ms | 96900 KB |
1_23.txt | AC | 459 ms | 96900 KB |
1_24.txt | AC | 456 ms | 96900 KB |
1_25.txt | AC | 463 ms | 96900 KB |
1_26.txt | AC | 473 ms | 96900 KB |
1_27.txt | AC | 477 ms | 96900 KB |
1_28.txt | AC | 478 ms | 96900 KB |
1_29.txt | AC | 492 ms | 96900 KB |
1_30.txt | AC | 598 ms | 96900 KB |
1_31.txt | AC | 504 ms | 96900 KB |
1_32.txt | AC | 495 ms | 96900 KB |
1_33.txt | AC | 403 ms | 96900 KB |
1_34.txt | AC | 414 ms | 95492 KB |
1_35.txt | AC | 425 ms | 96388 KB |
1_36.txt | AC | 422 ms | 95364 KB |
1_37.txt | AC | 435 ms | 96260 KB |
1_38.txt | AC | 442 ms | 96900 KB |
1_39.txt | AC | 442 ms | 96900 KB |
1_40.txt | AC | 446 ms | 96388 KB |
1_41.txt | AC | 461 ms | 96900 KB |
1_42.txt | AC | 447 ms | 96004 KB |
1_43.txt | AC | 470 ms | 96900 KB |
1_44.txt | AC | 463 ms | 96772 KB |
1_45.txt | AC | 467 ms | 96644 KB |
1_46.txt | AC | 466 ms | 96772 KB |
1_47.txt | AC | 469 ms | 96260 KB |
1_48.txt | AC | 491 ms | 96900 KB |
1_49.txt | AC | 609 ms | 96900 KB |
1_50.txt | AC | 555 ms | 96900 KB |
1_51.txt | AC | 521 ms | 96900 KB |
1_52.txt | AC | 568 ms | 96900 KB |
1_53.txt | AC | 498 ms | 96900 KB |
1_54.txt | AC | 557 ms | 96900 KB |
1_55.txt | AC | 536 ms | 96900 KB |
1_56.txt | AC | 558 ms | 96900 KB |
1_57.txt | AC | 505 ms | 96900 KB |
1_58.txt | AC | 472 ms | 96900 KB |
1_59.txt | AC | 512 ms | 96900 KB |
1_60.txt | AC | 473 ms | 96900 KB |
1_61.txt | AC | 467 ms | 96900 KB |
1_62.txt | AC | 429 ms | 96900 KB |
1_63.txt | AC | 464 ms | 96900 KB |