제출 #165679

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
1656792019-11-28 08:29:28nvmdavaRegions (IOI09_regions)C++17
100 / 100
4334 ms34904 KiB
#include <bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define N 200005
int h[N], p[N], ho[N], le[N], ri[N], cntr;
int rs[25005];
vector<int> rid[25005], ch[N];
vector<pair<pair<int, int>, int> > rra[25005];
void dfs(int v){
int t = ++cntr;
rid[h[v]].push_back(cntr);
ho[cntr] = h[v];
for(auto& x : ch[v])
dfs(x);
ri[t] = cntr;
}
map<int, int> dif, cache;
void addrange(int v){
dif.clear();
for(auto& x : rid[v]){
++dif[x];
--dif[ri[x] + 1];
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

컴파일 시 표준 에러 (stderr) 메시지

regions.cpp: In function 'int main()':
regions.cpp:72:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             while(rra[r1].size() > i && rra[r1][i].ff.ss < x)
                   ~~~~~~~~~~~~~~~^~~
regions.cpp:74:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(rra[r1].size() == i)
                ~~~~~~~~~~~~~~~^~~~
regions.cpp:76:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(rra[r1].size() != i && rra[r1][i].ff.ff <= x)
                ~~~~~~~~~~~~~~~^~~~
regions.cpp:46:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d%d", &n, &r, &q, &h[1]);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regions.cpp:49:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d", &p[i], &h[i]);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
regions.cpp:63:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d", &r1, &r2);
         ~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...