QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#419909 | #8591. Shops | Faisal-Saqib# | 0 | 68ms | 24420kb | C++17 | 1.8kb | 2024-05-24 12:37:07 | 2024-05-24 12:37:08 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=5e5+10;
const int P=17;
const int inf=1e18;
int dp1[N];
int dp2[N];
vector<pair<int,int>> ma[N];
bool vis[N];
char ans1[N];
bool cal[N];
bool cal1[N];
void dfs(int x,char c='B')
{
vis[x]=1;
ans1[x]=c;
if(c=='B')
c='D';
else
c='B';
for(auto [w,y]:ma[x])
{
if(!vis[y])
{
dfs(y,c);
}
}
}
void dfs_down(int x){
cal[x]=1;
for(auto [w,y]:ma[x])
{
if(!cal[y])
{
dfs_down(y);
if(ans1[y]!=ans1[x])
{
dp1[x]=min(dp1[x],w);
}
else
{
dp1[x]=min(dp1[x],w+dp1[y]);
}
}
}
}
void dfs_up(int x){
cal1[x]=1;
for(auto [w,y]:ma[x])
{
if(!cal1[y])
{
if(ans1[y]!=ans1[x])
{
dp2[y]=min(dp2[y],w);
}
else
{
dp2[y]=min(dp2[y],w+min(dp1[y],dp2[y]));
}
dfs_up(y);
}
}
}
signed main()
{
srand(time(0));
int n,m;
cin>>n>>m;
for(int j=0;j<m;j++)
{
int x,y,c;
cin>>x>>y>>c;
ma[x].push_back({c,y});
ma[y].push_back({c,x});
}
if(n>16)
{
exit(-1);
// return;
}
for(int i=1;i<=n;i++)
sort(begin(ma[i]),end(ma[i]));
dfs(1);
int ans=0;
for(int v=1;v<=n;v++)
dp1[v]=dp2[v]=inf;
dfs_down(1);
dfs_up(1);
for(int v=1;v<=n;v++)
ans=max(ans,min(dp1[v],dp2[v]));
int val=ans;
string ap;
for(int j=1;j<=n;j++)
ap+=ans1[j];
// for(int trap=1;trap<=n;trap++)
// {
// int x=trap;
// for(int j=1;j<=n;j++)
// {
// vis[j]=0;
// cal[j]=cal1[j]=0;
// dp1[j]=dp2[j]=inf;
// }
// ans=0;
// dfs(x);
// dfs_(x); // i think there is a problem here
// for(int tp=1;tp<=n;tp++)
// ans=max(ans,dp[tp]);
// if(ans<val)
// {
// val=ans;
// ap="";
// for(int j=1;j<=n;j++)
// ap+=ans1[j];
// }
// }
cout<<val<<endl;
cout<<ap<<endl;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 7
Accepted
time: 0ms
memory: 18008kb
input:
3 3 1 2 3 2 3 1 1 3 2
output:
2 BBD
result:
ok inconveniences = 2
Test #2:
score: 0
Accepted
time: 2ms
memory: 19984kb
input:
5 6 3 2 3 4 2 1 5 3 9 1 3 5 1 4 2 2 3 1
output:
9 BBDDB
result:
ok inconveniences = 9
Test #3:
score: -7
Wrong Answer
time: 68ms
memory: 24420kb
input:
8 135737 1 4 763713071 3 7 45141437 4 8 618418466 6 8 91803956 7 5 972595945 5 2 751163228 2 8 9886315 4 3 106470622 8 6 949495949 1 2 885918825 4 6 322040168 7 6 754489330 4 8 618968328 5 3 996860159 3 6 210132897 3 4 591744987 8 7 447985622 2 4 4833956 5 7 610154418 2 5 410116873 2 5 912717336 8 7...
output:
152727 BBDDBBDD
result:
wrong answer your claimed answer is 152727, but the inconveniences of your plan is actually 19258
Subtask #2:
score: 0
Runtime Error
Test #11:
score: 0
Runtime Error
input:
500000 499999 1 2 776715136 2 3 406881694 3 4 265792290 4 5 507607272 5 6 182246639 6 7 997847597 7 8 164130256 8 9 278962226 9 10 411194641 10 11 363646402 11 12 672225656 12 13 494629089 13 14 717664153 14 15 121619271 15 16 476857704 16 17 301215244 17 18 810217743 18 19 850722975 19 20 10710274 ...
output:
result:
Subtask #3:
score: 0
Skipped
Dependency #2:
0%
Subtask #4:
score: 0
Runtime Error
Test #31:
score: 0
Runtime Error
input:
366489 397001 2 127909 1 7 171229 1 8 158597 1 11 282213 1 14 356007 1 15 286102 1 16 93205 1 17 260111 1 18 138962 1 20 359938 1 29 223905 1 31 357684 1 32 259968 1 34 65205 1 37 200276 1 41 83195 1 43 159858 1 48 332277 1 50 320322 1 51 338467 1 53 262785 1 55 83815 1 56 173198 1 58 169473 1 63 19...
output:
result:
Subtask #5:
score: 0
Skipped
Dependency #1:
0%