結果
| 問題 |
No.2517 Right Triangles on Circle
|
| コンテスト | |
| ユーザー |
yumekawayui
|
| 提出日時 | 2023-10-27 22:04:29 |
| 言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 330 ms / 2,000 ms |
| コード長 | 1,147 bytes |
| コンパイル時間 | 6,216 ms |
| コンパイル使用メモリ | 192,128 KB |
| 実行使用メモリ | 24,320 KB |
| 最終ジャッジ日時 | 2024-09-25 14:10:31 |
| 合計ジャッジ時間 | 9,305 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 29 |
ソースコード
#pragma GCC target("avx")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include <bits/extc++.h>
using namespace std;
using ld = long double;
const vector<int> dx = {0, 0, 1, -1};
const vector<int> dy = {1, -1, 0, 0};
#define vec vector
#define int long long
#define double long double
//cout<<setprecision(10)<<fixed<<..
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define repp(i, x, n) for (int i = x; i < (int)(n); i++)
#define pii pair<int,int>
#define pq priority_queue
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;cin>>n;
int m;cin>>m;
map<int,int> cnt;
vec<int> A(n);rep(i,n){cin>>A[i];cnt[A[i]*2]++;}
int ans=0;
for(auto Z:cnt){
int i=Z.first/2;
if(i*2>m){break;}
if(i>m/2.0){
int v=2*i;
int op=v-m;
if(cnt.find(op)==cnt.end()){continue;}
ans+=cnt[v]*cnt[op]*(n-cnt[v]-cnt[op]);
}else{
int v=2*i;
int op=v+m;
if(cnt.find(op)==cnt.end()){continue;}
ans+=cnt[v]*cnt[op]*(n-cnt[v]-cnt[op]);
}
}
cout<<ans;
}
yumekawayui