# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
593838 | vladislav11 | Diversity (CEOI21_diversity) | C++14 | 2 ms | 212 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int n, q, l, r;
vector<int> a;
int main ()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> q;
a.resize(n);
for ( auto& el : a )
cin >> el;
cin >> l >> r;
sort( a.begin(), a.end() );
vector< pair<int,int> > b;
b.push_back({ 1, a[0] });
for ( int i=1; i<n; i++ )
{
if ( a[i] == b.back().second )
b.back().first++;
else
b.push_back({ 1, a[i] });
}
sort( b.begin(), b.end(), greater< pair<int,int> >() );
vector<int> c;
while ( b.size() )
{
for ( int i=0; i<b.size(); i++ )
{
c.push_back( b[i].second );
b[i].first--;
}
while ( b.size() && b.back().first == 0 )
b.pop_back();
}
/*for ( auto& el : c )
cout << el << ' ';
cout << '\n';*/
ll ans = 0;
for ( int i=0; i<n; i++ )
for ( int j=i; j<n; j++ )
ans += set<int>( c.begin()+i, c.begin()+j+1 ).size();
cout << ans;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |