Submission #372660

# Submission time Handle Problem Language Result Execution time Memory
372660 2021-03-01T08:48:14 Z Dymo 산악 구조대 (JOI13_mountain) C++14
Compilation error
0 ms 0 KB
#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 dosth(ll x,ll y,ll w,ll n,ll m,ll l,ll h)
{
    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();
        }
    }
}
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++)
        {
            if (i<=x&&j<=y)
            {
                ll h=abs(x-i)+abs(y-j);
                t=max(t,h);
                adj[h].pb(make_pair(i,j));
            }
        }
    }
    dosth(x,y,w,n,m,0,t);
    t=0;
    for (int i=1; i<=n; i++)
    {
        for (int j=1; j<=m; j++)
        {
            if (i>=x&&j<=y)
            {
                ll h=abs(x-i)+abs(y-j);
                t=max(t,h);
                adj[h].pb(make_pair(i,j));
            }
        }
    }
    dosth(x,y,w,n,m,0,t);
    t=0;
    for (int i=1; i<=n; i++)
    {
        for (int j=1; j<=m; j++)
        {
            if (i>=x&&j>=y)
            {
                ll h=abs(x-i)+abs(y-j);
                t=max(t,h);
                adj[h].pb(make_pair(i,j));
            }
        }
    }
    dosth(x,y,w,n,m,0,t);
    t=0;
    for (int i=1; i<=n; i++)
    {
        for (int j=1; j<=m; j++)
        {
            if (i<=x&&j>=y)
            {
                ll h=abs(x-i)+abs(y-j);
                t=max(t,h);
                adj[h].pb(make_pair(i,j));
            }
        }
    }
    dosth(x,y,w,n,m,0,t);
    t=0;
}
/*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

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;
      |               ^~~~
mountain.cpp: In function 'void dosth(int, int, int, int, int, int, int)':
mountain.cpp:29:20: error: 'X' was not declared in this scope
   29 |         if (docao>=X)
      |                    ^