結果
| 問題 | No.1905 PURE PHRASE |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-04-15 21:37:34 |
| 言語 | C90(gcc12) (gcc 12.4.0) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,037 bytes |
| 記録 | |
| コンパイル時間 | 117 ms |
| コンパイル使用メモリ | 32,876 KB |
| 実行使用メモリ | 7,848 KB |
| 最終ジャッジ日時 | 2026-03-08 16:31:10 |
| 合計ジャッジ時間 | 9,108 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 2 |
| other | AC * 8 WA * 30 |
コンパイルメッセージ
main.c: In function ‘main’:
main.c:20:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
20 | scanf("%d", &N);
| ^~~~~~~~~~~~~~~
main.c:21:34: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
21 | for (i = 1; i <= N; i++) scanf("%d", &(A[i]));
| ^~~~~~~~~~~~~~~~~~~~
ソースコード
#include <stdio.h>
#include <stdlib.h>
long double solve(int N, int A[], long double f)
{
int i, l, r;
long double w = 44100 / f, ans = 0.0;
for (i = 1; i <= N; i++) {
l = i + (int)w;
r = l + 1;
if (r >= N) break;
ans += fabsl(A[i] - (A[l] * (1.0 - (w - (int)w)) + A[r] * (w - (int)w)));
}
return ans;
}
int main()
{
int i, N, A[44101];
scanf("%d", &N);
for (i = 1; i <= N; i++) scanf("%d", &(A[i]));
long double min = 1e+10, tmp;
char ans = 0;
tmp = solve(N, A, 261.6);
if (min > tmp) {
min = tmp;
ans = 'C';
}
tmp = solve(N, A, 294.3);
if (min > tmp) {
min = tmp;
ans = 'D';
}
tmp = solve(N, A, 327.0);
if (min > tmp) {
min = tmp;
ans = 'E';
}
tmp = solve(N, A, 348.8);
if (min > tmp) {
min = tmp;
ans = 'F';
}
tmp = solve(N, A, 392.4);
if (min > tmp) {
min = tmp;
ans = 'G';
}
tmp = solve(N, A, 436.0);
if (min > tmp) {
min = tmp;
ans = 'A';
}
tmp = solve(N, A, 490.5);
if (min > tmp) {
min = tmp;
ans = 'B';
}
printf("%c4\n", ans);
fflush(stdout);
return 0;
}