結果
問題 | 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);}