結果

問題 No.35 タイパー高橋
ユーザー monburan_0401monburan_0401
提出日時 2018-08-30 00:11:20
言語 C
(gcc 12.3.0)
結果
AC  
実行時間 1 ms / 5,000 ms
コード長 1,634 bytes
コンパイル時間 512 ms
コンパイル使用メモリ 28,288 KB
実行使用メモリ 4,352 KB
最終ジャッジ日時 2023-10-11 20:51:58
合計ジャッジ時間 1,087 ms
ジャッジサーバーID
(参考情報)
judge11 / judge14
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,348 KB
testcase_01 AC 1 ms
4,352 KB
testcase_02 AC 1 ms
4,352 KB
testcase_03 AC 1 ms
4,352 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

/* タイピングする文字列はアルファベット小文字のみからなる文字列を考えます。

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;
}
0