結果
問題 | No.35 タイパー高橋 |
ユーザー | monburan_0401 |
提出日時 | 2018-08-30 00:11:20 |
言語 | C (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,634 bytes |
コンパイル時間 | 411 ms |
コンパイル使用メモリ | 29,184 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-13 19:42:48 |
合計ジャッジ時間 | 658 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
6,816 KB |
testcase_01 | AC | 1 ms
6,944 KB |
testcase_02 | AC | 2 ms
6,940 KB |
testcase_03 | AC | 1 ms
6,940 KB |
ソースコード
/* タイピングする文字列はアルファベット小文字のみからなる文字列を考えます。 1ゲームは 𝑁 個の区間に分かれており、区間 𝑘 では、𝑇𝑘 ミリ秒以内に 𝑆𝑘 という文字列をタイピングしなければいけません。 高橋くんは 1 秒あたり 12 文字まで正しくタイプすることができます。 これは、1000 ミリ秒では 12 文字まで、999 ミリ秒では 11 文字までタイプできるということで、𝑚 ミリ秒では ⌊12𝑚/1000⌋ 文字までタイプできることになります。 (⌊𝑥⌋ は 𝑥を超えない最大の整数を表します) 高橋くんはできるだけ多くの文字をタイプするとして、1ゲーム全体で、高橋くんが正しくタイプできる文字数、および、タイプできずに逃してしまう文字数を求めるプログラムを書いてください。 */ #include <stdio.h> int main(void){ int N; // 入力値 int t; // 入力値。時間 char s[101]; // 入力値。文字列 int count; // 文字数カウント int ok = 0; // 入力できた文字数 int ng = 0; // できなかった文字数 scanf("%d",&N); for (int i = 0; i < N; i++){ scanf("%d",&t); scanf("%s",s); count = 0; while (s[count] != 0){ // 文字数を数える count += 1; } if (12 * t / 1000 > count){ // 入力文字数よりも打てる文字数が多いとき ok += count; } else { // 少ないとき ok += (12 * t / 1000); ng += (count - (12 * t / 1000)); } } printf("%d %d\n",ok,ng); return 0; }