結果
問題 |
No.731 等差数列がだいすき
|
ユーザー |
|
提出日時 | 2021-07-01 10:13:06 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,500 ms |
コード長 | 789 bytes |
コンパイル時間 | 2,095 ms |
コンパイル使用メモリ | 196,660 KB |
最終ジャッジ日時 | 2025-01-22 15:13:39 |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(void) { cin.tie(0); ios::sync_with_stdio(false); int n; long double t; vector <long double> x, y; cin >> n; for (int i = 0; i < n; i++) { cin >> t; y.push_back(t); x.push_back(i); } long double X = 0; long double Y = 0; long double XY = 0; long double XX = 0; for (int i = 0; i < n; i++) { X += x[i]; Y += y[i]; XY += (x[i] * y[i]); XX += (x[i] * x[i]); } long double d = (n * XY - X * Y) / (n * XX - X * X); long double b = (XX * Y - XY * X) / (n * XX - X * X); long double res = 0; for (int i = 0; i < n; i++) { long double val = i * d + b; res += (val - y[i]) * (val - y[i]); } cout << fixed; cout.precision(9); cout << b << ' ' << d << '\n'; cout << res << '\n'; return 0; }