| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1340604 | jenterjongle45 | Voting Cities (NOI22_votingcity) | C++20 | 105 ms | 8348 KiB |
#include<bits/stdc++.h>
using namespace std;
#define int long long
using ll = long long;
using pii = pair<int,int>;
struct A{
int u,w,c;
bool operator<(const A &o)const{
return w>o.w;
}
};
int32_t main(){
cin.tie(0)->sync_with_stdio(0);
int n,m,k;cin>>n>>m>>k;
vector<int> T(k);
vector<vector<pii>> adj(n+1);
for(int &x:T) cin>>x;
while (m--){
int u,v,w;cin>>u>>v>>w;
adj[v].push_back({u,w});
}
vector<vector<int>> d(n+1,vector<int> (1<<5,2e18));
priority_queue<A> pq;
for(int x:T){
d[x][0]=0;
pq.push({x,0,0});
}
while(!pq.empty()){
auto [u,w,c]=pq.top();pq.pop();
if(w!=d[u][c]) continue;
for(auto x:adj[u]){
auto [v,ww]=x;
for(int i=0;i<5;i++){
if(((1<<i)^c)&&d[v][(c)|(1<<i)]>w+(ww)-ww*(i+1)/10){
d[v][(c)|(1<<i)]=w+(ww)-ww*(i+1)/10;
pq.push({v,d[v][(c)|(1<<i)],(c)|(1<<i)});
}
}
if(d[v][c]>w+ww){
d[v][c]=w+ww;
pq.push({v,w+ww,c});
}
}
}
int Q;cin>>Q;
while(Q--){
int t;cin>>t;
vector<int> s(5);
for(int &x:s){
cin>>x;
}
int ans=2e18;
for(int x:T){
if(x==t){
ans=0;
break;
}
for(int i=0;i<32;i++){
int C=0;
for(int j=0;j<5;j++){
if((1<<j)&i){
if(s[j]==-1) goto NO;
C+=s[j];
}
}
ans=min(ans,C+d[t][i]);
NO:;
}
}
cout<<(ans==2e18?-1:ans)<<'\n';
}
}| # | 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... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
