제출 #1176915

#제출 시각아이디문제언어결과실행 시간메모리
1176915Kaztaev_AlisherTree (IOI24_tree)C++20
7 / 100
51 ms18464 KiB
#include <bits/stdc++.h> #define ios ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout) #define all(a) a.begin() , a.end() #define F first #define S second using namespace std; using ll = long long; const ll N = 2e5+5 , inf = 2e9 + 7; const ll INF = 1e18 , mod = 1e9+7; ll n , w[N] , p[N] , sz[N] , c[N] , kol; vector<int> g[N]; void init(vector<int> P, vector<int> W) { n = (int)P.size(); for(int i = 1; i <= n; i++){ p[i] = P[i-1]+1; w[i] = W[i-1]; } for(int i = 2; i <= n; i++){ g[p[i]].push_back(i); } for(int i = 1; i <= n; i++){ kol += (g[i].size() == 0); } } long long query(int L, int R) { return L*kol + max(0ll , L*kol-R); } // int main() { // int N; // assert(1 == scanf("%d", &N)); // std::vector<int> P(N); // P[0] = -1; // for (int i = 1; i < N; i++) // assert(1 == scanf("%d", &P[i])); // std::vector<int> W(N); // for (int i = 0; i < N; i++) // assert(1 == scanf("%d", &W[i])); // int Q; // assert(1 == scanf("%d", &Q)); // std::vector<int> L(Q), R(Q); // for (int j = 0; j < Q; j++) // assert(2 == scanf("%d%d", &L[j], &R[j])); // fclose(stdin); // // init(P, W); // std::vector<long long> A(Q); // for (int j = 0; j < Q; j++) // A[j] = query(L[j], R[j]); // // for (int j = 0; j < Q; j++) // printf("%lld\n", A[j]); // fclose(stdout); // // return 0; // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...