Submission #1143002

#TimeUsernameProblemLanguageResultExecution timeMemory
1143002ezzzayPastiri (COI20_pastiri)C++20
0 / 100
172 ms8352 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define ff first #define ss second #define pb push_back const int N=6e5+5; int dp[N][2]; signed main(){ int n,k; cin>>n>>k; for(int i=1;i<n;i++){ int a,b; cin>>a>>b; } vector<int>v(k+1); for(int i=1;i<=k;i++)cin>>v[i]; sort(v.begin(),v.end()); for(int i=1;i<=n;i++){ dp[i][0]=1e9; dp[i][1]=1e9; } dp[1][1]=1; for(int i=2;i<=k;i++){ dp[i][1]=min(dp[i-1][0],dp[i-1][1])+1; if((v[i]-v[i+1])%2==0){ dp[i][0]=dp[i-1][1]; } } cout<<min(dp[k][1],dp[k][0])<<endl;; int t=0; for(int i=2;i<=k;i++){ if((v[i]-v[i+1])%2==0){ cout<<v[i]+v[i-1]/2<< " "; t++; i++; } else{ cout<<v[i-1]<<" "; t++; } } if(t!=min(dp[k][1],dp[k][0]))cout<<v[k]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...