結果
| 問題 |
No.2947 Sing a Song
|
| コンテスト | |
| ユーザー |
pengin_2000
|
| 提出日時 | 2024-10-25 21:50:27 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 14 ms / 2,000 ms |
| コード長 | 720 bytes |
| コンパイル時間 | 1,080 ms |
| コンパイル使用メモリ | 30,208 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-10-25 21:50:39 |
| 合計ジャッジ時間 | 4,028 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
ソースコード
#include<stdio.h>
char s[200005], t[200005];
int a[200005];
int dp[200005];
int main()
{
int n;
scanf("%d", &n);
scanf("%s%s", s, t);
int ss, tt;
for (ss = 0; s[ss] != '\0'; ss++);
for (tt = 0; t[tt] != '\0'; tt++);
int i, j;
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (i = 0; i < ss; i++)
dp[i] = 0;
for (; i < 200005; i++)
{
if (i % ss > 0)
{
if (i >= tt)
dp[i] = dp[i - tt];
else
dp[i] = 0;
}
else
dp[i] = i / ss;
}
for (i = 0; i < n; i++)
{
while (dp[a[i]] > 0)
{
printf("%s", s);
a[i] -= ss;
if (a[i] > 0)
printf(" ");
}
while (a[i] > 0)
{
printf("%s", t);
a[i] -= tt;
if (a[i] > 0)
printf(" ");
}
printf("\n");
}
return 0;
}
pengin_2000