답안 #1091596

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1091596 2024-09-21T13:54:20 Z TgX_2 Sirni (COCI17_sirni) C++17
42 / 140
1942 ms 786432 KB
/*-----------------------------
        Author : TgX.2
       11Ti - K28 - CHV
-----------------------------*/

#include <bits/stdc++.h>

#define FOR(i, a, b)       for (int i = (a), _b = (b); i <= _b; i += 1)
#define FORD(i, a, b)      for (int i = (a), _b = (b); i >= _b; i -= 1)
#define FORC(i, a, b, c)   for (int i = (a), _b = (b), _c = (c); i <= _b; i += _c)

#define fi                 first
#define se                 second
#define pb                 push_back
#define len(x)             (int)((x).size())
#define all(x)             (x).begin(), (x).end()

#define _                  << " " <<
#define __                 << "\n"

#define ______________TgX______________ main()
// #define int                long long
#define intmax             1e9
#define intmin            -1e9
#define llongmax           1e18
#define llongmin          -1e18
#define memo(a, val)       memset((a), (val), sizeof((a)))

using   namespace std;
typedef long long          ll;
typedef pair<int, int>     pii;

template<typename T1, typename T2> 
bool mini(T1 &a, T2 b)
    {if (a > b) a = b; else return 0; return 1;}

template<typename T1, typename T2> 
bool maxi(T1 &a, T2 b)
    {if (a < b) a = b; else return 0; return 1;}
/*-----------------------------*/

const int maxn = 1e6 + 7;
int n, a[maxn];
bool vis[maxn];
    priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q;
void process() {
    cin >> n;
    FOR(i, 1, n) cin >> a[i];

    q.push({0, 1});

    int ans = 0;
    while(!q.empty()) {
        pair<int, int> top = q.top(); q.pop();
        int u = top.se, cost = top.fi;

        if (!vis[u]) {
            vis[u] = 1;
            ans += cost;
            
            FOR(i, 1, n) if (!vis[i]) {
                q.push({min(a[i] % a[u], a[u] % a[i]), i});
            }
        }
    }

    cout << ans;
}



/*-----------------------------*/
______________TgX______________ {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);  
    if (fopen("temp.inp", "r")) {
        freopen("temp.inp", "r", stdin);
        freopen("temp.out", "w", stdout);
    }
    process();
}


/*==============================+
|INPUT                          |
--------------------------------|

================================+
|OUTPUT                         |
--------------------------------|

===============================*/

Compilation message

sirni.cpp:21:41: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   21 | #define ______________TgX______________ main()
      |                                         ^~~~
sirni.cpp:73:1: note: in expansion of macro '______________TgX______________'
   73 | ______________TgX______________ {
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sirni.cpp: In function 'int main()':
sirni.cpp:77:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   77 |         freopen("temp.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
sirni.cpp:78:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   78 |         freopen("temp.out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 4564 KB Output is correct
2 Correct 70 ms 4564 KB Output is correct
3 Correct 68 ms 4560 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 67 ms 4560 KB Output is correct
2 Correct 70 ms 4564 KB Output is correct
3 Correct 71 ms 4564 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 71 ms 4564 KB Output is correct
2 Correct 55 ms 4688 KB Output is correct
3 Correct 69 ms 4560 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1817 ms 786432 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1942 ms 786432 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1772 ms 786432 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1870 ms 786432 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1926 ms 786432 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1865 ms 786432 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1890 ms 786432 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -