Submission #1310604

#TimeUsernameProblemLanguageResultExecution timeMemory
1310604KhoaDuyExamination (JOI19_examination)C++17
100 / 100
352 ms10180 KiB
#include<bits/stdc++.h> using namespace std; #define endl '\n' #define ll long long struct cube{ int a,b,c,idx; }; const int MAXN=2*1e5; vector<cube> v(MAXN); int ans[MAXN]; bool cmp(cube &a,cube &b){ if(a.a!=b.a){ return (a.a<b.a); } return (a.idx>b.idx); } bool cmp2(cube &a,cube &b){ return (a.b>b.b); } #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define orderset tree<pair<int,int>,null_type,less<pair<int,int>>,rb_tree_tag,tree_order_statistics_node_update> void dnc(int l,int r){ if(l==r){ return; } orderset se; int mid=((l+r)>>1); dnc(l,mid),dnc(mid+1,r); sort(v.begin()+l,v.begin()+mid+1,cmp2); sort(v.begin()+mid+1,v.begin()+r+1,cmp2);; int ptr=mid; for(int i=l;i<=mid;i++){ while(ptr+1<=r&&v[ptr+1].b>=v[i].b){ ptr++; if(v[ptr].idx==-1){ se.insert({v[ptr].c,ptr}); } } if(v[i].idx!=-1){ ans[v[i].idx]+=(se.size()-se.order_of_key({v[i].c,0})); } } } signed main(){ if(fopen("input.txt","r")){ freopen("input.txt","r",stdin); } ios_base::sync_with_stdio(false); cin.tie(NULL); int n,q; cin >> n >> q; for(int i=0;i<n;i++){ int s,t; cin >> s >> t; v[i]={s,t,s+t,-1}; } for(int i=0;i<q;i++){ int x,y,z; cin >> x >> y >> z; v[i+n]={x,y,z,i}; } sort(v.begin(),v.begin()+n+q,cmp); dnc(0,n+q-1); for(int i=0;i<q;i++){ cout << ans[i] << endl; } }

Compilation message (stderr)

examination.cpp: In function 'int main()':
examination.cpp:48:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   48 |         freopen("input.txt","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...