QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#150327#5505. Great ChaseahsoltanWA 198ms3788kbC++17891b2023-08-25 16:25:312023-08-25 16:25:32

Judging History

你现在查看的是最新测评结果

  • [2023-08-25 16:25:32]
  • 评测
  • 测评结果:WA
  • 用时:198ms
  • 内存:3788kb
  • [2023-08-25 16:25:31]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using Int = __int128;

#ifdef LOCAL
#include "debug.h"
#else
#define debug(...) 2137
#endif

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  int tt;
  cin >> tt;
  while (tt--) {
    int n, v;
    cin >> n >> v;
    vector<pair<ll, ll>> a, b;
    for (int i = 0; i < n; i++) {
      ll p, vv;
      cin >> p >> vv;
      (p > 0 ? a : b).push_back({vv, abs(p)});
    }
    auto cmp = [&] (auto x, auto y) {
      return (Int)x.first * y.second - (Int)x.second * y.first > 0;
    };
    int p1 = min_element(a.begin(), a.end(), cmp) - a.begin();
    int p2 = min_element(b.begin(), b.end(), cmp) - b.begin();
    ld t = ld(a[p1].second + b[p2].second) / (a[p1].first + b[p2].first);
    cout << fixed << setprecision(10) << t * v << '\n';
  }
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3764kb

input:

3
4 9
10 2
-7 2
-6 1
7 1
2 8
-1 7
1 6
2 3
-1000000000000 1
1000000000000 1

output:

38.2500000000
1.2307692308
3000000000000.0000000000

result:

ok 3 numbers

Test #2:

score: -100
Wrong Answer
time: 198ms
memory: 3788kb

input:

10000
200 997007
405524182320 754760
686939601648 419804
687047488212 715566
1446157132 4594
-670522037 4673
763634629282 253755
424307411732 275041
1582708381 8473
-667425982 4622
-522841486 1427
702430907988 460271
1405423646 1060
1497754648 6227
883363410675 723547
56899800372 46435
-810216390 64...

output:

152058782613.8126407266
16823280632.7725856453
5280325824.2054830980
335327168.1375168801
46708086166.7204401046
227548506.9393939394
1708925225.2304723579
114935101737.6150932983
13924365606.2873887951
412975327.5555555556
965508404.5121014925
5438225583.9717350574
352961619.4965048352
5616666892.9...

result:

wrong answer 1st numbers differ - expected: '145405766328.3491211', found: '152058782613.8126526', error = '0.0457548'