Submission #1144751

#TimeUsernameProblemLanguageResultExecution timeMemory
1144751KindaGoodGamesSirni (COCI17_sirni)C++17
42 / 140
5092 ms1092 KiB
#pragma GCC optimize("O3, Ofast, unroll-loops")
#include<bits/stdc++.h>

#define ll long long
#define pii pair<int,int>
#define tiii tuple<int,int,int>

using namespace std;


int main(){
    int n;
    cin >> n;
    vector<int> arr(n);

    for(int i = 0; i < n;i++){
        cin >> arr[i];
    }

    sort(arr.begin(), arr.end());

    vector<int> dist(n,1e9);
    dist[n-1] = 0;
    bitset<100000> used;
    
    int sum = 0;
    for(int i = 0; i < n; i++){
        // get min
        int mi = 1e9;
        int miInd = -1;
        for(int j = 0; j < n; j++){
            if(used[j]) continue;
            if(mi > dist[j]){
                mi = dist[j];
                miInd = j;
            }
        }

        sum += mi;
        dist[miInd] = mi;
        used[miInd] = true;
        for(int j = 0; j < n; j++){
            if(used[j]) continue;
             dist[j] = min(dist[j], min(arr[j] % arr[miInd], arr[miInd] % arr[j]));
        }
    } 
    cout << sum << "\n";
}

Compilation message (stderr)

sirni.cpp:1:47: warning: bad option '-f Ofast' to pragma 'optimize' [-Wpragmas]
    1 | #pragma GCC optimize("O3, Ofast, unroll-loops")
      |                                               ^
sirni.cpp:1:47: warning: bad option '-f unroll-loops' to pragma 'optimize' [-Wpragmas]
sirni.cpp:11:10: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
   11 | int main(){
      |          ^
sirni.cpp:11:10: warning: bad option '-f unroll-loops' to attribute 'optimize' [-Wattributes]
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...