結果
問題 | No.190 Dry Wet Moist |
ユーザー |
|
提出日時 | 2021-01-01 23:35:21 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 308 ms / 2,000 ms |
コード長 | 1,773 bytes |
コンパイル時間 | 1,950 ms |
コンパイル使用メモリ | 199,200 KB |
最終ジャッジ日時 | 2025-01-17 08:56:46 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 28 |
ソースコード
#include<bits/stdc++.h>using namespace std;#define rep(i,n) for(ll i=0;i<n;i++)#define repl(i,l,r) for(ll i=(l);i<(r);i++)#define per(i,n) for(ll i=(n)-1;i>=0;i--)#define perl(i,r,l) for(ll i=r-1;i>=l;i--)#define fi first#define se second#define pb push_back#define ins insert#define pqueue(x) priority_queue<x,vector<x>,greater<x>>#define all(x) (x).begin(),(x).end()#define CST(x) cout<<fixed<<setprecision(x)#define rev(x) reverse(x);using ll=long long;using vl=vector<ll>;using vvl=vector<vector<ll>>;using pl=pair<ll,ll>;using vpl=vector<pl>;using vvpl=vector<vpl>;const ll MOD=1000000007;const ll MOD9=998244353;const int inf=1e9+10;const ll INF=4e18;const ll dy[8]={-1,0,1,0,1,1,-1,-1};const ll dx[8]={0,-1,0,1,1,-1,1,-1};template<class T> inline bool chmin(T& a, T b) {if (a > b) {a = b;return true;}return false;}template<class T> inline bool chmax(T& a, T b) {if (a < b) {a = b;return true;}return false;}ll wet(multiset<ll> st){ll ans=0;while(!st.empty()){auto it=st.end();it--;ll p=*it;if(p<1)break;auto itr=st.upper_bound(-p);auto k=st.end();k--;if(itr==k)break;ans++;st.erase(it);st.erase(itr);}return ans;}ll moist(multiset<ll> st){ll ans=0,zero=0;vl pl(100010),mi(100010);for(auto p:st){if(p<0)mi[-p]++;else if(p>0)pl[p]++;else zero++;}rep(i,100010)ans+=min(mi[i],pl[i]);return ans+zero/2;}int main(){ll n;cin >> n;n*=2;multiset<ll> st,nst;rep(i,n){ll x;cin >> x;st.insert(x);}for(auto p:st)nst.insert(-p);cout << wet(nst) <<" " << wet(st) <<" " << moist(st) <<endl;}