Submission #518959

#TimeUsernameProblemLanguageResultExecution timeMemory
518959alirezasamimi100Worst Reporter 4 (JOI21_worst_reporter4)C++17
14 / 100
393 ms196932 KiB
/*#pragma GCC optimize("Ofast,unroll-loops") #pragma comment(linker, "/stack:200000000") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma,tune=native")*/ /*#pragma GCC optimize("O2") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2,sse,sse2,fma")*/ #include <bits/stdc++.h> using namespace std; using ll=long long int; using ld=long double; using pll=pair<ll,ll>; using pii=pair<int,int>; using point=complex<double>; #define F first #define S second //#define X real() //#define Y imag() #define pb push_back #define mp make_pair #define lc v<<1 #define rc v<<1|1 #define fast_io ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr); #define kill(x) cout << x << '\n';exit(0) #define killshayan kill("done!") #define killmashtali kill("Hello, World!") const int N=5e3+10,LN=19,M=3e2+10,SQ=450,BS=737,inf=1e9,NSQ=N/SQ+1; const ll INF=1e18; const double pi=acos(-1); const ld ep=1e-7; const int MH=1000696969,MD=998244353,MOD=1000000007; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define ordered_set tree<pii, null_type,greater<pii>, rb_tree_tag,tree_order_statistics_node_update> ll pow(ll x, ll y, ll mod){ ll ans=1; while (y != 0) { if (y & 1) ans = ans * x % mod; y >>= 1; x = x * x % mod; } return ans; } ll n,dp[N][N],a[N],c[N]; vector<ll> adj[N],cp; void dfs(ll v){ for(ll u : adj[v]) dfs(u); for(ll i=cp.size()-1; i>=0; i--){ if(i!=a[v]) dp[v][i]=c[v]; for(ll u : adj[v]){ dp[v][i]+=dp[u][i]; } if(i<cp.size()-1) dp[v][i]=min(dp[v][i],dp[v][i+1]); } } int main(){ fast_io; cin >> n; for(ll i=1; i<=n; i++){ ll p; cin >> p >> a[i] >> c[i]; if(i>1) adj[p].pb(i); cp.pb(a[i]); } sort(cp.begin(),cp.end()); cp.resize(unique(cp.begin(),cp.end())-cp.begin()); for(ll i=1; i<=n; i++) a[i]=lower_bound(cp.begin(),cp.end(),a[i])-cp.begin(); dfs(1); cout << dp[1][0] << '\n'; return 0; }

Compilation message (stderr)

worst_reporter2.cpp: In function 'void dfs(ll)':
worst_reporter2.cpp:54:13: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |         if(i<cp.size()-1) dp[v][i]=min(dp[v][i],dp[v][i+1]);
      |            ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...