Submission #372654

#TimeUsernameProblemLanguageResultExecution timeMemory
372654Dymo산악 구조대 (JOI13_mountain)C++14
0 / 100
23 ms24428 KiB
#include<bits/stdc++.h> #include "grader.h" using namespace std; #define ll int #define pll pair<ll,ll> #define ff first #define ss second #define pb push_back #define endl "\n" const ll maxn =1e6+10; const ll mod=1e9+7; const ll base=3e18; ll a[maxn]; ll ask(ll x,ll y) { return Measure(x,y); } vector<pll> adj[maxn]; void Rescue(ll R,ll C,ll RS,ll CS,ll X) { ll w=X; ll x=RS; ll y=CS; ll n=R; ll m=C; ll t=0; for (int i=1;i<=n;i++) { for (int j=1;j<=m;j++) { ll h=abs(x-i)+abs(y-j); t=max(t,h); adj[h].pb(make_pair(i,j)); } } ll l=0,h=t; while (l<=h) { ll mid=(l+h)/2; auto p=adj[mid].back(); ll docao=ask(p.ff,p.ss); if (docao>=X) l=mid+1; else h=mid-1; } for (auto to:adj[h]) { ll t=ask(to.ff,to.ss); if (t==w) { Pinpoint(to.ff,to.ss); } } h++; for (auto to:adj[h]) { ll t=ask(to.ff,to.ss); if (t==w) { Pinpoint(to.ff,to.ss); } } for (int i=1;i<=n;i++) { for (int j=1;j<=m;j++) { adj[h].clear(); } } } /*int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); if (fopen("t.inp","r")) { freopen("test.inp","r",stdin); freopen("test.out","w",stdout); } }*/

Compilation message (stderr)

mountain.cpp:14:15: warning: overflow in conversion from 'double' to 'int' changes value from '3.0e+18' to '2147483647' [-Woverflow]
   14 | const ll base=3e18;
      |               ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...