結果
| 問題 |
No.2799 Cut and Eat
|
| コンテスト | |
| ユーザー |
vjudge1
|
| 提出日時 | 2024-07-05 17:31:46 |
| 言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 1,207 bytes |
| コンパイル時間 | 3,831 ms |
| コンパイル使用メモリ | 138,964 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-07-05 17:31:51 |
| 合計ジャッジ時間 | 3,208 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 31 |
ソースコード
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<stack>
#include<deque>
#include<set>
#include<map>
#include<cmath>
#define rint int
#define mem(a,b) memset(a,b,sizeof a)
#define lowbit(x) (x&-x)
#define debug(a,b) cout<<"line"<<__LINE__<<":"<<a<<" = "<<b<<endl;
#define eb emplace_back
#define pb push_back
#define read raed
#define int long long
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
const int inf=0x3f3f3f3f;
const ll INF=1e18;
const int N=108;
template<typename T>
void read(T &x){
x=0;int f=1;char c=getchar();
while(!isdigit(c)){if(c=='-') f=-1;c=getchar();}
while(isdigit(c)){x=x*10+c-'0';c=getchar();}
x*=f;
}
template<typename T,typename ... Args>
void read(T &x, Args &... y){read(x);read(y...);}
int n,k,ans;
struct p{int x,v;} a[N];
inline int val(int x){
if(x<=k) return x;
if(x%2) return -1;
return 0;
}
signed main(){
read(n,k);
for(rint i=1,x;i<=n;i++) read(x),a[i]={x,val(x)},ans+=x;
sort(a+1,a+n+1,[](p a,p b){return a.v>b.v;});
for(rint i=1;i<=n;i++) ans+=((i%2)?1:-1)*a[i].v;
cout<<ans/2<<endl;
return 0;
}
vjudge1