Sponsors

Codeforces Round #425 (Div. 2), problem: (C) Strange Radiation Solution In C/C++

#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using ld = long double;
using D = double;
using uint = unsigned int;
template<typename T>
using pair2 = pair<T, T>;

#ifdef WIN32
    #define LLD "%I64d"
#else
    #define LLD "%lld"
#endif

#define pb push_back
#define mp make_pair
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second

const int OPEN = 1;
const int CLOSE = -1;

struct tsob
{
    int x, t, id;
};

inline bool operator<(const tsob &a, const tsob &b)
{
    if (a.x != b.x) return a.x < b.x;
    return a.t == OPEN && b.t == CLOSE;
}

const int maxn = 100005;
const int DR = 1000000;

int curb[2];
vector<tsob> sobs;
int x[maxn], v[maxn], dir[maxn], dist[maxn];
int n, s;

bool can(ld t)
{
    sobs.clear();
    curb[0] = 0;
    curb[1] = 0;
    for (int i = 0; i < n; i++)
    {
        if (dist[i] <= (ll)v[i] * t)
        {
            curb[dir[i]]++;
        } else if (dist[i] <= (ll)(v[i] + s) * t)
        {
            // A * r + B = 0
            ld A = (ld)1 / (s - v[i]) - (ld)v[i] / (s - v[i]) / (s + v[i]);
            ld B = (ld)dist[i] / (s + v[i]) - t;
            ld r = -B / A;
            if (dir[i] == 0)
            {
                sobs.pb({x[i], OPEN, dir[i]});
                sobs.pb({lround(min((ld)DR + 1, floor(x[i] + r))), CLOSE, dir[i]});
            } else
            {
                sobs.pb({lround(max((ld)-1.0, ceil(x[i] - r))), OPEN, dir[i]});
                sobs.pb({x[i], CLOSE, dir[i]});
            }
        }
    }
    if (curb[0] > 0 && curb[1] > 0) return true;
    sort(all(sobs));
    for (auto t : sobs)
    {
        curb[t.id] += t.t;
        if (curb[0] > 0 && curb[1] > 0) return true;
    }
    return false;
}

int main()
{
    scanf("%d%d", &n, &s);
    for (int i = 0; i < n; i++)
    {
        scanf("%d%d%d", &x[i], &v[i], &dir[i]);
        dir[i]--;
        if (dir[i] == 0) dist[i] = x[i];
        else dist[i] = DR - x[i];
    }
    ld l = 0;
    ld r = 1e6;
    for (int IT = 0; IT < 50; IT++)
    {
        ld m = (l + r) / 2;
        if (can(m)) r = m;
        else l = m;
    }
    cout.precision(20);
    cout << (double)(l + r) / 2 << endl;
    return 0;
}

LG G6 vs. LG...

LG G6 vs. LG G5 OLED TV: Which Gallery...

Mystery Science Theater 3000:...

Mystery Science Theater 3000: The Movie Proved That "Mainstream"...

Core Aviation grows Bell...

Core Aviation Bolsters Bell Helicopter Fleet in New Zealand...

Changpeng Zhao’s memoir is...

Changpeng Zhao’s "Freedom of Money": A Roadmap for the...

AL East Injury Notes:...

AL East Injury Crisis: Key Updates on Springer, Holliday,...

Hacks Recap: New York...

Hacks Recap: Deborah Vance and the Little Debbies Take...

LG G6 vs. LG G5: I compared the latest OLED TV models, and it’s a surprisingly tough choice

LG G6 vs. LG G5 OLED TV: Which Gallery Series Model Is Right for You? LG has long been a leader in the OLED television...

Mystery Science Theater 3000: The Movie Proved That “Mainstream” Isn’t Always Better

Mystery Science Theater 3000: The Movie Proved That "Mainstream" Isn't Always BetterReleased thirty years ago, Mystery Science Theater 3000: The Movie serves as a...

Core Aviation grows Bell helicopter fleet in NZ to rival Airbus

Core Aviation Bolsters Bell Helicopter Fleet in New Zealand to Rival Airbus New Zealand's aviation landscape is witnessing a significant shift as Core Aviation, a...

Changpeng Zhao’s memoir is key to understanding the future of crypto

Changpeng Zhao’s "Freedom of Money": A Roadmap for the Future of CryptoIn the rapidly evolving landscape of digital assets, few figures loom as large...

AL East Injury Notes: Yesavage, Springer, Holliday, Uceta

AL East Injury Crisis: Key Updates on Springer, Holliday, and Yesavage The American League East has long been regarded as the most grueling division in...

Hacks Recap: New York or Nowhere

Hacks Recap: Deborah Vance and the Little Debbies Take on New York The latest episode of Hacks, titled "New York or Nowhere," brings a fresh...

Why is Tesla Up $28

Understanding the Recent $28 Surge in Tesla StockTesla investors have plenty to celebrate as the company’s stock recently witnessed a significant $28 jump. This...

Candace Owens Responds to Erika Kirk Pulling Out of Event With VP JD Vance

Candace Owens Criticizes Erika Kirk Over TPUSA Event Cancellation The political commentary landscape is heating up following a public disagreement between two prominent figures. Candace...

Passive component demand splits in 2026; AI and autos hold firm

The Shift in Passive Component Demand: AI and Automotive Drive 2026 Growth As we approach 2026, the global passive components sector is witnessing a significant...