結果
| 問題 | No.1251 絶対に間違ってはいけない最小化問題 |
| コンテスト | |
| ユーザー |
applejam
|
| 提出日時 | 2026-01-10 14:46:03 |
| 言語 | C++23 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,277 bytes |
| 記録 | |
| コンパイル時間 | 6,511 ms |
| コンパイル使用メモリ | 386,896 KB |
| 実行使用メモリ | 14,364 KB |
| 最終ジャッジ日時 | 2026-01-10 14:46:25 |
| 合計ジャッジ時間 | 20,732 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 2 WA * 40 |
ソースコード
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
using ll = long long;
using mint = modint998244353;
using vi = vector<int>;
using vvi = vector<vi>;
using vvvi = vector<vvi>;
using vll = vector<ll>;
using vvll = vector<vll>;
using vvvll = vector<vvll>;
using vmi = vector<mint>;
using vvmi = vector<vmi>;
using vvvmi = vector<vvmi>;
#define all(a) (a).begin(), (a).end()
#define rep2(i, m, n) for (int i = (m); i < (n); ++i)
#define rep(i, n) rep2(i, 0, n)
#define drep2(i, m, n) for (int i = (m)-1; i >= (n); --i)
#define drep(i, n) drep2(i, n, 0)
void solve(){
}
using t = tuple<ll, ll, int>;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n; cin >> n;
vll a(n), b(n);
rep(i, n)cin >> a[i];
rep(i, n)cin >> b[i];
vector<t> vt(n);
rep(i, n)vt[i] = {a[i], b[i], i};
sort(all(vt));
vll sb(n+1, 0), sab(n+1, 0);
rep(i, n){
sb[i+1] = sb[i] + b[i];
sab[i+1] = sab[i] + b[i]*a[i];
}
ll ans = 2e18; int c = -1;
rep(i, n){
ll tmp = -sab[i] + sb[i]*a[i] - (sb[n] - sb[i+1])*a[i] + (sab[n] - sab[i+1]);
if(tmp < ans){
ans = tmp;
c = a[i];
}
}cout << c << " " << ans << endl;
return 0;
}
applejam