Submission #1040419

#TimeUsernameProblemLanguageResultExecution timeMemory
1040419tamir1Pairs (IOI07_pairs)C++17
47 / 100
72 ms8792 KiB
#include<bits/stdc++.h> #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> #define ll long long #define ordered_set tree<ll,null_type,less_equal<ll>,rb_tree_tag,tree_order_statistics_node_update> using namespace std; using namespace __gnu_pbds; ordered_set s; ll b,n,m,d,i,j,x[100010],y[100010],z[100010]; ll ans; int main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> b >> n >> d >> m; if(b==1) for(i=1;i<=n;i++) cin >> x[i],s.insert(x[i]); if(b==2) for(i=1;i<=n;i++) cin >> x[i] >> y[i]; if(b==3) for(i=1;i<=n;i++) cin >> x[i] >> y[i] >> z[i]; if(n<=1000){ for(i=1;i<n;i++){ for(j=i+1;j<=n;j++){ if(abs(x[i]-x[j])+abs(y[i]-y[j])+abs(z[i]-z[j])<=d) ans++; } } cout << ans; return 0; } if(b==1){ for(i=1;i<=n;i++){ ans=ans+s.order_of_key(x[i]+d+1)-s.order_of_key(x[i]-d)-1; } ans/=2; cout << ans; return 0; } cout << 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...