結果
| 問題 | No.545 ママの大事な二人の子供 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-10-21 20:37:48 |
| 言語 | C++23(gcc16) (gcc 16.2.0 + boost 1.92.0 + ACL) |
| 結果 |
WA
不安定
|
| 実行時間 | - |
| コード長 | 1,847 bytes |
| 記録 | |
| コンパイル時間 | 2,434 ms |
| コンパイル使用メモリ | 231,752 KB |
| 実行使用メモリ | 9,924 KB |
| 最終ジャッジ日時 | 2026-10-21 20:37:55 |
| 合計ジャッジ時間 | 4,492 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 WA * 21 |
ソースコード
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <unordered_map>
#include <map>
#include <cmath>
#include <climits>
#define ALL(variable) (variable).begin(), (variable).end()
#define GT(variableName, defaultValue, limit) for(int variableName = defaultValue; variableName < (int)limit; variableName++)
#define GTE(variableName, defaultValue, limit) for(int variableName = defaultValue; variableName <= (int)limit; variableName++)
#define LT(variableName, defaultValue, limit) for(int variableName = defaultValue; variableName > (int)limit; variableName--)
#define LTE(variableName, defaultValue, limit) for(int variableName = defaultValue; variableName >= (int)limit; variableName--)
using namespace std ;
int main(){
long long n, answer;
cin >> n;
answer = 10000000000;
vector<int> A(n), B(n);
GT(i, 0, n){
cin >> A[i] >> B[i];
}
vector<int> upA(0), loA(0);
GT(i, 0, pow(2, n/2)){
int memo = 0, _i = i;
GT(j, 0, n/2)
{
if(_i%2 == 0){
memo += A[j];
}
else{
memo -= B[j];
}
_i = i>>1;
}
upA.push_back(memo);
}
GT(i, 0, pow(2, n-n/2)){
int memo = 0, _i = i;
GT(j, 0, n-n/2)
{
if(_i%2 == 0){
memo += A[j+n/2];
}
else{
memo -= B[j+n/2];
}
_i = i>>1;
}
loA.push_back(memo);
}
sort(ALL(upA));
sort(ALL(loA));
GT(i, 0, upA.size()){
long long _ = min(abs(upA[i] + loA[lower_bound(ALL(loA), -upA[i])-loA.begin()]), abs(upA[i] + loA[lower_bound(ALL(loA), -upA[i])-1-loA.begin()]));
answer = min(answer, _);
}
cout << answer << endl;
}