제출 #1342362

#제출 시각아이디문제언어결과실행 시간메모리
1342362Jakub_WozniakAstronomer (BOI23_astronomer)C++20
8 / 100
2094 ms456 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
const ll oo = (1e+18);
const int maxn = 1000009;
ld x[maxn] , y[maxn];
ll t , s;
int k , n;

ld dis(ld X , ld Y)
{
    return sqrtf128(X*X + Y*Y);
}

ld solvets(ld orgx , ld orgy)
{
    vector <ld> V;
    for(int i = 1 ; i <= n ; i++)
    {
        V.push_back(dis(x[i]-orgx,y[i]-orgy)*((ld)t));
    }
    sort(V.begin() , V.end());

    return V[k-1] + ((ld)s)*dis(orgx,orgy);
}



int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin >> k >> n >> s >> t;
    for(int i = 1; i <= n ; i++)cin >> x[i] >> y[i];

    if(t <= s) // nie oplaca sie przesuwac
    {
        cout << setprecision(8) << fixed << solvets(0 , 0) << '\n';
        exit(0);
    }

    ld ans = (1e+18)*4;
    for(int i = 1 ; i <= n ; i++)for(int j = 1 ; j <= n ; j++)
    {
        ans = min(ans ,solvets((x[i]+x[j])/2 , (y[i]+y[j]/2)));
    }

    for(int i = 1 ; i <= n ; i++)for(int j = 1 ; j <= n ; j++)for(int k = 1 ; k <= n ; k++)
    {
        ;
    }

    cout << setprecision(8) << fixed << ans << '\n';





    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'ld dis(ld, ld)':
Main.cpp:13:20: warning: converting to 'ld' {aka 'long double'} from '_Float128' with greater conversion rank
   13 |     return sqrtf128(X*X + Y*Y);
      |            ~~~~~~~~^~~~~~~~~~~
#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...