답안 #758981

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
758981 2023-06-15T16:12:11 Z BentoOreo Voting Cities (NOI22_votingcity) C++14
5 / 100
8 ms 980 KB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pll = pair<long,long>;
const ll INF = numeric_limits<ll>::max();
struct edge{
    ll v;
    ll weight;
};
ll solve(vector<vector<edge> > adj,int src, int voting, int n, int e){
    vector<ll> distance(n,numeric_limits<ll>::max());
    vector<bool> vis(n,false);
    priority_queue<pll, vector<pll>, greater<pll>> pq;
    pq.push({0, src});
    distance[src] = 0;
    while(!pq.empty()){
        pll stuff = pq.top(); pq.pop();//remove for later
        ll node = stuff.second;// weight, node pairing
        if(!vis[node]){
            //scan each neighbor
            for(edge &e : adj[node]){
                if(distance[node] + e.weight < distance[e.v]){
                    distance[e.v] = distance[node] + e.weight;
                    pq.push({distance[e.v],e.v});
                }
            }
            vis[node] = true;
        }
    }
    if(distance[voting] == INF){
        return -1;
    } else {
        return distance[voting];
    }
}
int main(){
    ll n, e, k;//nodes, edge, voting cities
    cin >> n >> e >> k;
    vector<vector<edge> > adj(n);
    if(k == 1){
        int voting;
        cin >> voting;
        for(int i = 0; i < e; i++){
            ll u,v,w;
            cin >> u >> v >> w;
            adj[u].push_back({v,w});
        }
        int q;
        cin >> q;
        if(q == 1){
            int src;
            ll ticketprice;
            cin >> src;
            unordered_set<ll> TRASH;
            for(int i = 0; i < 5; i++){
                cin >> ticketprice;
                TRASH.insert(ticketprice);
            }
            if(TRASH.size() == 1 && *TRASH.begin() == -1){
                ll ans = solve(adj,src,voting,n,e);
                cout << ans << endl;
            } else {
                cout << "I wasn't made for this :(" << endl;
            }
        } else {
            cout << "I wasn't made for this :(" << endl;
        }
    } else {
        cout << "I wasn't made for this :(" << endl;
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 980 KB Output is correct
2 Correct 4 ms 852 KB Output is correct
3 Correct 8 ms 980 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 980 KB Output is correct
2 Correct 4 ms 852 KB Output is correct
3 Correct 8 ms 980 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Incorrect 8 ms 600 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 980 KB Output is correct
2 Correct 4 ms 852 KB Output is correct
3 Correct 8 ms 980 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Incorrect 8 ms 600 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 980 KB Output is correct
2 Correct 4 ms 852 KB Output is correct
3 Correct 8 ms 980 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Incorrect 8 ms 596 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 980 KB Output is correct
2 Correct 4 ms 852 KB Output is correct
3 Correct 8 ms 980 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Incorrect 8 ms 600 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 980 KB Output is correct
2 Correct 4 ms 852 KB Output is correct
3 Correct 8 ms 980 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Incorrect 8 ms 600 KB Output isn't correct
7 Halted 0 ms 0 KB -