Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
using namespace std; typedef long long ll; const int INF = (1<<30); const ll inf = (1LL << 55LL); const int maxn = 300004; vector
graph[maxn]; int arr[maxn]; int parent[maxn]; bool visited[maxn]; //1000000000 int n, S; int tmpArr[maxn]; int ret; void dfs(int node){ if(node == 0){ return; } int sosed; for(int i =0 ; i <(int)graph[node].size(); i ++){ sosed = graph[node][i]; if(sosed != parent[node])continue; if(tmpArr[node] > tmpArr[sosed]){ ret ++; tmpArr[sosed] = tmpArr[node] ; dfs(sosed); } } } int main() { ios_base::sync_with_stdio(false); cin >> n >> arr[0]; int a, b; for(int i = 1; i <= n; i ++){ cin >> arr[i] >> b; a = i; parent[i] = b; graph[a].push_back(b); graph[b].push_back(a); } for(int j = 0; j <= n; j ++){ tmpArr[j] = arr[j]; } for(int i = 1; i <= n; i ++){ ret = 0; S = i; dfs(i); cout << ret << "\n"; } return 0; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)