結果

問題 No.3268 As Seen in Toasters
ユーザー GOTKAKO
提出日時 2025-09-12 23:37:36
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 46 ms / 2,000 ms
コード長 812 bytes
コンパイル時間 2,108 ms
コンパイル使用メモリ 204,548 KB
実行使用メモリ 7,720 KB
最終ジャッジ日時 2025-09-12 23:45:39
合計ジャッジ時間 4,677 ms
ジャッジサーバーID
(参考情報)
judge6 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 41
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int N; cin >> N;
    vector<long long> P,M;
    while(N--){
        int a; cin >> a;
        if(a >= 0) P.push_back(a);
        else M.push_back(-a);
    }
    sort(P.begin(),P.end());
    sort(M.rbegin(),M.rend());

    long long summ = 0;
    for(auto &m : M) summ += m;

    long long answer = 0;
    if(P.size()) answer += P.back()-P.at(0);
    if(M.size()){
        if(P.size() == 0) answer = summ+summ-M.at(0)-M.at(1);
        else{
            long long one = 1e18;
            if(M.size() > 1) one = summ+summ-M.at(0)-M.at(1)+P.at(0)+P.back();
            long long two = summ+summ-M.at(0)+P.at(0);
            answer += min(one,two);
        }
    }
    cout << answer << endl;
}
0