# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
945410 | 2024-03-13T18:15:13 Z | JakobZorz | Examination (JOI19_examination) | C++17 | 513 ms | 323184 KB |
#include<iostream> #include<vector> #include<queue> #include<stack> #include<algorithm> #include<limits.h> #include<math.h> #include<map> #include<set> #include<unordered_map> #include<unordered_set> #include<iomanip> #include<cstring> #include<random> typedef long long ll; typedef unsigned long long ull; typedef long double ld; using namespace std; struct Obj{ ll a,b,c; int res; bool is_q; }; bool cmp1(Obj*a,Obj*b){ return a->c<b->c; } void proc(vector<Obj*>vals,vector<Obj*>qrs){ for(auto i:qrs) for(auto j:vals) if(j->a>=i->a&&j->b>=i->b) i->res++; } void dc(vector<Obj*>arr){ int n=(int)arr.size(); if(arr[0]->c==arr.back()->c){ vector<Obj*>qrs,vals; for(int i=0;i<n;i++){ if(arr[i]->is_q) qrs.push_back(arr[i]); else vals.push_back(arr[i]); } proc(vals,qrs); return; } int mid=0; for(int i=0;i<n/2||mid==0;i++) if(arr[i]->c!=arr[i+1]->c) mid=i+1; vector<Obj*>qrs,vals; vector<Obj*>arr1,arr2; for(int i=mid;i<n;i++){ arr2.push_back(arr[i]); if(!arr[i]->is_q) vals.push_back(arr[i]); } for(int i=0;i<mid;i++){ arr1.push_back(arr[i]); if(arr[i]->is_q) qrs.push_back(arr[i]); } proc(vals,qrs); dc(arr1); dc(arr2); } void solve(){ int n,q; cin>>n>>q; vector<Obj>arr(n); for(Obj&i:arr){ cin>>i.a>>i.b; i.c=i.a+i.b; i.is_q=false; i.res=0; } vector<Obj>qrs(q); for(Obj&i:qrs){ cin>>i.a>>i.b>>i.c; i.is_q=true; i.res=0; } vector<Obj*>all; for(Obj&i:arr) all.push_back(&i); for(Obj&i:qrs) all.push_back(&i); sort(all.begin(),all.end(),cmp1); dc(all); for(auto i:qrs) cout<<i.res<<"\n"; } int main(){ ios::sync_with_stdio(false);cout.tie(NULL);cin.tie(NULL); freopen("/Users/jakob/cp_testing/test.txt","r",stdin);//freopen("output.out","w",stdout); int t=1;//cin>>t; while(t--)solve(); return 0; } /* 5 4 35 100 70 70 45 15 80 40 20 95 20 50 120 10 10 100 60 60 80 0 100 100 */
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 513 ms | 321168 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 458 ms | 323184 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 458 ms | 323184 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 513 ms | 321168 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |