Task: | HIIT Generation |
Sender: | TreamDeam |
Submission time: | 2018-05-26 15:15:51 +0300 |
Language: | C++ |
Status: | READY |
Result: | TIME LIMIT EXCEEDED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | TIME LIMIT EXCEEDED | -- | details |
#3 | ACCEPTED | 0.03 s | details |
#4 | ACCEPTED | 0.01 s | details |
Code
#include <iostream> #include <string.h> using namespace std; int len; char rep[1000000]; char ii[1000001] = {0}; int cnt = 0; void write(char letter,int s) { //cout << "wr\n"; int a = 0; for (int i = s; i < len; i++) { if (letter == rep[i]) { write('H', i + 1); write('I', i + 1); write('I', i + 1); write('T', i + 1); a = 1; break; } } if (a == 0) //cout << letter; ii[cnt++] = letter; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> len; char a; for (int i = 0; i < len; i++) { cin >> a; rep[i] = a; } //cout << rep[0] << " " << rep[1] << "\n"; write('H', 0); int start1 = cnt; write('I', 0); int end1 = cnt; int dif = end1 - start1; //cout << start1 << " " << end1 << "\n"; for (int i = start1; i < end1; i++) { ii[i + dif] = ii[i]; } //memcpy(ii + start1, ii + end1, end1 - start1); cnt = end1 + dif; //write('I', 0); write('T', 0); for (int i = 0; i < cnt; i++) { cout << ii[i]; } cout << "\n"; return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
17 I I I I ... |
correct output |
---|
HHHHHHHHHHHHHHHHHHIITHIITTHHII... |
user output |
---|
HHHHHHHHHHHHHHHHHHIITHIITTHHII... |
Test 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
333332 H H H H ... |
correct output |
---|
HIITIITIITIITIITIITIITIITIITII... |
user output |
---|
(empty) |
Test 3
Verdict: ACCEPTED
input |
---|
24 H T H T ... |
correct output |
---|
HIIHIITIIHIIHIITIIHIITIIHIIHII... |
user output |
---|
HIIHIITIIHIIHIITIIHIITIIHIIHII... |
Test 4
Verdict: ACCEPTED
input |
---|
0 |
correct output |
---|
HIIT |
user output |
---|
HIIT |