結果

問題 No.731 等差数列がだいすき
ユーザー nu50218
提出日時 2018-09-07 22:57:37
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 1,500 ms
コード長 637 bytes
コンパイル時間 1,550 ms
コンパイル使用メモリ 167,888 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-29 18:28:42
合計ジャッジ時間 2,268 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define FOR(I,X,Y) for(int (I)=(X);(I)<(Y);(I)++)
#define REP(I,X,Y) for(int (I)=(Y)-1;(I)>=(X);(I)--)
#define ALL(X) (X).begin(),(X).end()
#define INF 1000000007
#define LINF 1000000000000000007
typedef long long ll;
using namespace std;

int main(){
  int N;
  cin >> N;
  double xy=0,x=0,y=0,x2=0,n=N,cost=0;
  double a,b,A[N];
  FOR(i,0,N){
    cin >> A[i];
    x += i;
    x2 += i*i;
    y += A[i];
    xy += i*A[i];
  }
  a = (n*xy - x*y)/(n*x2-x*x);
  b = (x2*y - xy*x)/(n*x2-x*x);
  FOR(i,0,N){
    cost += pow((A[i]-b-a*i),2);
  }
  cout << fixed << setprecision(10) << b << ' ' << a << endl << cost;
}
0