# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
349016 | denkendoemeer | 무지개나라 (APIO17_rainbow) | C++14 | 1298 ms | 79956 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "rainbow.h"
#include<bits/stdc++.h>
const int inf=1e9;
using namespace std;
vector<vector<int>>dx={{0},{0,1},{0},{0,1}};
vector<vector<int>>dy={{0},{0,1},{0,1},{0}};
struct bit
{
vector<pair<int,int>>add;
vector<int>v[200005];
void init()
{
sort(add.begin(),add.end());
add.resize(unique(add.begin(),add.end())-add.begin());
int i;
for(auto it:add)
for(i=it.first;i<=200000;i=i+(i&-i))
v[i].push_back(it.second);
for(i=1;i<=200000;i++)
sort(v[i].begin(),v[i].end());
}
int query(int x,int st,int dr)
{
int ans=0;
for(;x>=1;x=x-(x&-x)){
auto it1=lower_bound(v[x].begin(),v[x].end(),st);
auto it2=upper_bound(v[x].begin(),v[x].end(),dr);
ans=ans+it2-it1;
}
return ans;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |