Submission #1185253

#TimeUsernameProblemLanguageResultExecution timeMemory
1185253Saul0906Spy 3 (JOI24_spy3)C++20
0 / 100
1088 ms1053500 KiB
#include "Aoi.h" #include <bits/stdc++.h> #define pii pair<int, int> #define ll long long #define fi first #define se second #define iii array<int,3> #define pq_min(a) priority_queue<a,vector<a>,greater<a>> #define rep(a,b,c) for(int a=b; a<c; a++) #define repr(a,b,c) for(int a=b-1; a>c-1; a--) using namespace std; const ll inf=1e18; string aoi(int N, int M, int Q, int K, vector<int> A, vector<int> B, vector<long long> C, vector<int> T, vector<int> X) { string s; rep(i,0,K) repr(j,40,0) s+=(((C[i]>>j)&1)+'0'); return s; }
#include "Bitaro.h" #include <bits/stdc++.h> #define pii pair<int, int> #define pll pair<ll, ll> #define fi first #define se second #define iii array<ll,3> #define pq_min(a) priority_queue<a,vector<a>,greater<a>> #define rep(a,b,c) for(int a=b; a<c; a++) #define repr(a,b,c) for(int a=b-1; a>c-1; a--) #define repa(a,b) for(auto a:b) #define ll long long int #define all(a) a.begin(),a.end() #define pb push_back using namespace std; const ll inf=1e18; void bitaro(int N, int M, int Q, int K, vector<int> A, vector<int> B, vector<long long> C, vector<int> T, vector<int> X, string s) { vector<iii> adj[N]; int ind=0; rep(i,0,K){ repr(j,40,0){ C[i]+=(1<<j)*(s[ind]=='1'); ind++; } } rep(i,0,M){ adj[A[i]].pb({B[i],C[i],i}); adj[B[i]].pb({A[i],C[i],i}); } ll dis[N]; pii par[N]; rep(i,0,N) dis[i]=inf; pq_min(pll) pq; pq.push({0,0}); dis[0]=0; par[0]={-1,-1}; while(pq.size()){ ll w=pq.top().fi, u=pq.top().se; pq.pop(); if(dis[u]>w) continue; repa(v,adj[u]){ if(dis[v[0]]>w+v[1]){ dis[v[0]]=v[1]+w; par[v[0]]={u,v[2]}; pq.push({dis[v[0]],v[0]}); } } } rep(i,0,Q){ vector<int> pth; do{ pth.pb(par[T[i]].se); T[i]=par[T[i]].fi; }while(par[T[i]].fi!=-1); reverse(all(pth)); answer(pth); } }
#Verdict Execution timeMemoryGrader output
Fetching results...