結果
問題 |
No.2261 Coffee
|
ユーザー |
![]() |
提出日時 | 2023-04-07 21:46:04 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 272 ms / 2,000 ms |
コード長 | 910 bytes |
コンパイル時間 | 25,037 ms |
コンパイル使用メモリ | 355,924 KB |
最終ジャッジ日時 | 2025-02-12 01:01:09 |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 42 |
ソースコード
#pragma GCC target("avx") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; int main() { cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; vector<long long> X_min(1<<5, 1LL<<60), X_max(1<<5, -(1LL<<60)); vector<vector<long long>> X(N, vector<long long>(1<<5)); for( int i = 0; i < N; i++ ) { vector<long long> Y(5); cin >> Y[0] >> Y[1] >> Y[2] >> Y[3] >> Y[4]; for( int S = 0; S < (1<<5); S++ ) { for( int j = 0; j < 5; j++ ) { if( (S>>j)&1 ) { X[i][S] += Y[j]; }else { X[i][S] -= Y[j]; } } X_min[S] = min(X_min[S], X[i][S]); X_max[S] = max(X_max[S], X[i][S]); } } for( int i = 0; i < N; i++ ) { long long ans = 0; for( int S = 0; S < (1<<5); S++ ) { ans = max({ans, X_max[S]-X[i][S], X[i][S]-X_min[S]}); } cout << ans << endl; } }