結果
| 問題 |
No.2329 Nafmo、イカサマをする
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-05-28 14:19:42 |
| 言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 2,208 bytes |
| コンパイル時間 | 11,485 ms |
| コンパイル使用メモリ | 285,732 KB |
| 最終ジャッジ日時 | 2025-02-13 11:14:50 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 24 RE * 16 |
ソースコード
#pragma GCC target("avx2")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
using namespace std;
using ll = long long int;
using ull = unsigned long long int;
using ld = long double;
ll MOD = 998244353;
ll MAX = 1e18;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll N,M,K;
cin >> N >> M >> K;
vector<ll> A(N);
for(ll i = 0;i < N;i++){
cin >> A[i];
}
vector<ll> B,C;
if(K == 1){
B.emplace_back(0);
for(ll i = 0;i < N;i++){
B.emplace_back(A[i]);
}
}
else if(K == 2){
B.emplace_back(0);
for(ll i = 0;i < N;i++){
B.emplace_back(A[i]);
for(ll j = 0;j < N;j++){
B.emplace_back(A[i] + A[j]);
}
}
}
else{
B.emplace_back(0);
for(ll i = 0;i < N;i++){
B.emplace_back(A[i]);
for(ll j = 0;j < N;j++){
B.emplace_back(A[i] + A[j]);
for(ll k = 0;k < N;k++){
B.emplace_back(A[i] + A[j] + A[k]);
}
}
}
}
if(K <= 3){
C.emplace_back(0);
}
else if(K == 4){
C.emplace_back(0);
for(ll i = 0;i < M;i++){
C.emplace_back(A[i]);
}
}
else if(K == 5){
C.emplace_back(0);
for(ll i = 0;i < M;i++){
C.emplace_back(A[i]);
for(ll j = 0;j < M;j++){
C.emplace_back(A[i] + A[j]);
}
}
}
else{
C.emplace_back(0);
for(ll i = 0;i < M;i++){
C.emplace_back(A[i]);
for(ll j = 0;j < M;j++){
C.emplace_back(A[i] + A[j]);
for(ll k = 0;k < M;k++){
C.emplace_back(A[i] + A[j] + A[k]);
}
}
}
}
sort(B.begin(),B.end());
sort(C.begin(),C.end());
ll ans = 0;
for(ll i = 0;i < B.size();i++){
ll a = B[i];
ll ma = M - a;
ll b = upper_bound(C.begin(),C.end(),ma) - C.begin();
if(b == 0) continue;
b--;
ans = max(ans,a + C[b]);
}
cout << ans << endl;
}