結果
問題 | No.731 等差数列がだいすき |
ユーザー |
|
提出日時 | 2018-09-07 22:08:17 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 1,500 ms |
コード長 | 746 bytes |
コンパイル時間 | 143 ms |
コンパイル使用メモリ | 23,424 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-29 14:30:25 |
合計ジャッジ時間 | 883 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:7:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 7 | scanf("%d",&N); | ~~~~~^~~~~~~~~ main.cpp:13:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 13 | scanf("%d",A+x); | ~~~~~^~~~~~~~~~
ソースコード
#include <stdio.h> int N; int A[1001]; typedef long long ll; int main(){ scanf("%d",&N); ll xysum = 0; ll xsum = N*(N+1)/2; ll x2sum = 0; ll ysum = 0; for(int x = 1; x <= N; x++){ scanf("%d",A+x); x2sum += x*x; ysum += A[x]; xysum += x*A[x]; } double a = (N*xysum-xsum*ysum)/(double)(N*x2sum-xsum*xsum); double b = (x2sum*ysum-xysum*xsum)/(double)(N*x2sum-xsum*xsum); printf("%f %f\n",b+a, a); double cost = 0; for(int x = 1; x <= N; x++){ double mody = a*x+b; cost += ((double)A[x]-mody)*((double)A[x]-mody); } printf("%f\n",cost); }