Submission #1191160

#TimeUsernameProblemLanguageResultExecution timeMemory
1191160GrayDiversity (CEOI21_diversity)C++20
0 / 100
51 ms45380 KiB
#include <algorithm> #include <bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define ld long double #define ff first #define ss second #define ln "\n" #define mp make_pair #define pb push_back #define INF (ll)1e18 ll MOD = (ll)(1e9+7); void solve(){ ll n, q; cin >> n >> q; vector<ll> a(n); map<ll, ll> cnt; for (ll i=0; i<n; i++){ cin >> a[i]; cnt[a[i]]++; } vector<ll> byc; for (auto [x, c]:cnt){ byc.push_back(c); } sort(byc.rbegin(), byc.rend()); ll left=0, right=0, res=0; for (ll i=0; i<(ll)byc.size(); i++){ if (i%2==0){ res+=n*(n+1)/2-left*(left+1)/2-(n-left-byc[i])*(n-left-byc[i]+1)/2; left+=byc[i]; }else{ res+=n*(n+1)/2-right*(right+1)/2-(n-right-byc[i])*(n-right-byc[i]+1)/2; right+=byc[i]; } } cout << res << ln; } int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); #ifdef LOCAL auto start = chrono::high_resolution_clock::now(); #endif #ifndef LOCAL freopen("cardgame.in", "r", stdin); freopen("cardgame.out", "w", stdout); #endif ll testc=1; // cin >> testc; for (ll __c=1; __c<=testc; __c++) solve(); #ifdef LOCAL auto duration = chrono::duration_cast<chrono::microseconds>(chrono::high_resolution_clock::now() - start); cout << setprecision(0) << fixed << "time: " << (double)duration.count()/1000.0 << " milliseconds" << endl; #endif }

Compilation message (stderr)

diversity.cpp: In function 'int main()':
diversity.cpp:45:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   45 |     freopen("cardgame.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
diversity.cpp:46:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   46 |     freopen("cardgame.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...