agul's blog

By agul, 8 years ago, In Russian,

Я составляю задачу для одной олимпиады, в апреле планируется добавить тренировку в CF по задачам той олимпиады

Допустим, есть строка A = "abc", B = "def". Мне нужно их вывести, чтобы на выходе получить "abcdef". Таких строк может быть до 4 × 106 штук.

Как можно это делать быстро в С++? На Delphi решение тратит 937 мс, на C++ — 1703 мс.

Код Delphi:

write('abc');
write('def');

Код С++:

printf("abc");
printf("def");

Да, это укладывается в установленный TL = 2 секунды. Но хотелось бы быстрее. Можно ли?

UPD: Конкатенировать строки нельзя, задача на технику, ML = 4 МБ, поэтому решение с конкатенацией получает ML.

 
 
 
 
  • Vote: I like it
  • +8
  • Vote: I do not like it