結果
問題 | No.2284 Assembly |
ユーザー |
![]() |
提出日時 | 2023-04-29 12:59:41 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 40 ms / 2,000 ms |
コード長 | 1,988 bytes |
コンパイル時間 | 1,029 ms |
コンパイル使用メモリ | 121,668 KB |
最終ジャッジ日時 | 2025-02-12 15:58:57 |
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
#include <algorithm>#include <iostream>#include <cstdio>#include <map>#include <numeric>#include <cmath>#include <set>#include <sstream>#include <string>#include <vector>#include <queue>#include <stack>#include <complex>#include <string.h>#include <unordered_set>#include <unordered_map>#include <bitset>#include <iomanip>#include <sys/time.h>#include <tuple>#include <random>using namespace std;#define endl '\n'#define ALL(v) (v).begin(), (v).end()#define RALL(v) (v).rbegin(), (v).rend()#define UNIQ(v) (v).erase(unique((v).begin(), (v).end()), (v).end())typedef long long ll;typedef long double ld;typedef pair<int, int> P;typedef complex<double> comp;typedef vector< vector<ld> > matrix;struct pairhash {public:template<typename T, typename U>size_t operator()(const pair<T, U> &x) const {size_t seed = hash<T>()(x.first);return hash<U>()(x.second) + 0x9e3779b9 + (seed<<6) + (seed>>2);}};const int INF = 1e9 + 9;//const ll INF = 1e18 + 9;const ll MOD = 1e9 + 7;//const ll MOD = 998244353;const double EPS = 1e-8;const double PI = acos(-1);int n;ll a[200100];ll b[200100];ll solve() {ll sumA = 0, sumB = 0, fixA = 0, fixB = 0;for (int i = 0; i < n; i++) {sumA += a[i];sumB += b[i];}ll res = 0;for (int i = 0; i < n; i++) {sumA -= a[i];sumB -= b[i];const ll v0 = a[i] * fixB + b[i] * (fixA + sumA);const ll v1 = a[i] * (fixB + sumB) + b[i] * fixA;if (v0 >= v1) {res += v0;fixB += b[i];} else {res += v1;fixA += a[i];}}return res / 2;}void input() {cin >> n;for (int i = 0; i < n; i++) cin >> a[i] >> b[i];}void output(const ll& res) {cout << res << endl;}int main() {ios::sync_with_stdio(false);cin.tie(0);cout << fixed << setprecision(15);input();const auto& res = solve();output(res);}