Submission #89637

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
896372018-12-17 17:25:26VardanyanBirthday gift (IZhO18_treearray)C++14
100 / 100
1693 ms99800 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 2*1000*100+5;
int a[N];
vector<int> g[N];
int colour[N];
int par[N];
int dp[N][20];
int depth[N];
void kaxel(int v,int dep = 0,int p = -1){
par[v] = p;
dp[v][0] = p;
depth[v] = dep;
for(int i = 0;i<g[v].size();i++){
int to = g[v][i];
if(to == p) continue;
kaxel(to,dep+1,v);
}
}
int lca(int a,int b){
if(depth[a]<depth[b]) swap(a,b);
if(a == b) return a;
int dif = depth[a]-depth[b];
for(int i = 19;i>=0;i--){
if((dif>>i)&1) a = dp[a][i];
}
// cout<<a<<" "<<b<<endl;
if(a == b) return a;
for(int i = 19;i>=0;i--){
if(dp[a][i] == -1 || dp[b][i] == -1) continue;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

treearray.cpp: In function 'void kaxel(int, int, int)':
treearray.cpp:14:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0;i<g[v].size();i++){
                   ~^~~~~~~~~~~~
treearray.cpp: In function 'int main()':
treearray.cpp:81:17: warning: unused variable 'now' [-Wunused-variable]
             int now = a[pos];
                 ^~~
treearray.cpp:43:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d",&n,&m,&q);
     ~~~~~^~~~~~~~~~~~~~~~~~~
treearray.cpp:46:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&x,&y);
         ~~~~~^~~~~~~~~~~~~~
treearray.cpp:69:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i = 1;i<=m;i++) scanf("%d",&a[i]);
                             ~~~~~^~~~~~~~~~~~
treearray.cpp:77:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&tp);
         ~~~~~^~~~~~~~~~
treearray.cpp:80:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d%d",&pos,&val);
             ~~~~~^~~~~~~~~~~~~~~~~~
treearray.cpp:96:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d%d%d",&l,&r,&v);
             ~~~~~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...