Submission #445846

#TimeUsernameProblemLanguageResultExecution timeMemory
445846simon2712Star triangles (IZhO11_triangle)C++14
0 / 100
5 ms460 KiB
#include <bits/stdc++.h> using namespace std; ifstream fin("triangles.in"); ofstream fout("triangles.out"); pair<int,int> v[3000001]; int main() { int n,i,st,dr,mij,st2,dr2,st3,dr3; unsigned long long rez=0; fin>>n; for(i=1;i<=n;i++) fin>>v[i].first>>v[i].second; sort(v+1,v+n+1); for(i=1;i<=n;i++) { st=1; dr=n; while(st<=dr) { mij=(st+dr)/2; if(v[mij].first<=v[i].first) st=mij+1; else dr=mij-1; } st2=st-1; st=1; dr=n; while(st<=dr) { mij=(st+dr)/2; if(v[mij].first>=v[i].first) dr=mij-1; else st=mij+1; } dr2=dr+1; st=1; dr=n; while(st<=dr) { mij=(st+dr)/2; if(v[mij].second>=v[i].second) dr=mij-1; else st=mij+1; } dr3=dr+1; st=1; dr=n; while(st<=dr) { mij=(st+dr)/2; if(v[mij].second<=v[i].second) st=mij+1; else dr=mij-1; } st3=st-1; rez+=(dr3-st3)*(dr2-st2); } fout<<rez; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...