Submission #1117656

#TimeUsernameProblemLanguageResultExecution timeMemory
1117656vjudge1Paprike (COI18_paprike)C++17
13 / 100
35 ms6736 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define run ios_base::sync_with_stdio(false);cin.tie(0); #define ll long long #define pll pair<ll, ll> #define ull unsigned ll #define ld double #define endl "\n" #define pb push_back #define fi first #define se second #define pi acos(-1) #define N 100007 #define minimum -9223372036854775807 #define maximum -minimum #define mod 1000000007 using namespace std; using namespace __gnu_pbds; template <class t> using ordered_set=tree<t, null_type,less_equal<t>, rb_tree_tag,tree_order_statistics_node_update>; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ll gcd(ll a, ll b) { if(b==0) return a; return gcd(b, a%b); } ll lcm(ll a, ll b) { return a/gcd(a, b)*b; } bool isprime(ll n) { if(n==1) return 0; for(ll i=2; i*i<=n; i++) { if(n%i==0) return 0; } return 1; } ll binpow(ll a, ll b) { a%=mod; ll res=1; while(b>0) { if(b%2==1) res=(res*a)%mod; a=(a*a)%mod; b/=2; } return res; } ll n, m, cvb, res; ll a[N]; bool used[N]; vector<ll>v[N]; priority_queue<pll, vector<pll>, greater<pll>>pq; void bfs(ll node) { pq.push({a[node], node}); res=0; used[node]=1; ll minn=maximum; while(!pq.empty()) { ll f=pq.top().second; ll ff=pq.top().first; res+=a[f]; // cout<<"node: "<<f<<" "; // cout<<"res: "<<res<<endl; if(res>m) { return; } used[f]=1; pq.pop(); for(ll i:v[f]) { if(!used[i]) { pq.push({a[i], i}); } } } } int main() { run; cin>>n>>m; for(ll i=1; i<=n; i++) { cin>>a[i]; } for(ll i=1; i<n; i++) { ll x, y; cin>>x>>y; v[x].pb(y); v[y].pb(x); } cvb=0; for(ll i=1; i<=n; i++) { if(!used[i]) { while(!pq.empty()) pq.pop(); res=0; bfs(i); // cout<<"bfs bitdi\n"; cvb++; } } cout<<cvb-1<<endl; } // By Xanlar // NUREDDIN <3 UZR ISTEYIREM PLS QEBUL ELE SENIN YERINDE OTURDUGUM UCUN

Compilation message (stderr)

paprike.cpp: In function 'void bfs(long long int)':
paprike.cpp:81:6: warning: unused variable 'ff' [-Wunused-variable]
   81 |   ll ff=pq.top().first;
      |      ^~
paprike.cpp:77:5: warning: unused variable 'minn' [-Wunused-variable]
   77 |  ll minn=maximum;
      |     ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...