Submission #1215655

#TimeUsernameProblemLanguageResultExecution timeMemory
1215655KindaGoodGamesDiversity (CEOI21_diversity)C++20
0 / 100
7094 ms324 KiB
#pragma GCC optimize("O3, unroll-loops,Ofast")
#include<bits/stdc++.h>

// #define int long long
using namespace std;

int INF = numeric_limits<int>::max()/2;
int32_t main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n,q;
    cin>> n >> q;

    vector<int>arr(n);
    set<int> occ;
    for(int i = 0; i < n; i++){
        cin >> arr[i];
        occ.insert(arr[i]);
    }
    // vector<int> sorted(occ.begin(),occ.end());

    // map<int,int> toInd;
    // for(int i = 0; i < sorted.size(); i++){
    //     toInd[sorted[i]] = i;
    // }
    // for(int i = 0; i < n; i++){
    //     arr[i] = toInd[arr[i]];
    // }
    

    while(q--){
        int l,r;
        cin >> l >> r;
        l--;r--;

        vector<int> cur;
        for(int i = l; i <= r; i++){
            cur.push_back(arr[i]);
        } 
        
        sort(cur.begin(),cur.end()); 

        int mi = INF;
        do{ 
            int sum = 0;
            for(int i = 0; i < cur.size(); i++){ 
                for(int j = i; j < cur.size(); j++){ 
                    occ.insert(cur[j]);
                    sum += occ.size();
                }
            }
            mi = min(mi,sum);
        }while(next_permutation(cur.begin(),cur.end()));
        cout << mi << endl;
    }
}

Compilation message (stderr)

diversity.cpp:1:46: warning: bad option '-f unroll-loops' to pragma 'optimize' [-Wpragmas]
    1 | #pragma GCC optimize("O3, unroll-loops,Ofast")
      |                                              ^
diversity.cpp:8:14: warning: bad option '-f unroll-loops' to attribute 'optimize' [-Wattributes]
    8 | int32_t main() {
      |              ^
#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...