제출 #1191812

#제출 시각아이디문제언어결과실행 시간메모리
1191812vnedu산악 구조대 (JOI13_mountain)C++17
100 / 100
6 ms580 KiB
#include "grader.h"
#include<bits/stdc++.h>
using namespace std;
void Rescue(int n, int m, int rs, int cs, int x)
{
    int ptr;
    pair<int,int> ans;
    // case 1: upper right
    ptr=cs-1;
    for(int i=n;i>=rs;--i)
    {
        int cm=-1;
        while(ptr<m)
        {
            int cur=Measure(i,ptr+1);
            if(cur<x) break;
            cm=cur;
            ++ptr;
        }
        if(cm==x) ans={i,ptr};
    }
    // case 2:upper left
    ptr=cs+1;
    for(int i=n;i>=rs;--i)
    {
        int cm=-1;
        while(ptr>1)
        {
            int cur=Measure(i,ptr-1);
            if(cur<x) break;
            cm=cur;
            --ptr;
        }
        if(cm==x) ans={i,ptr};
    }
    // case 3: down right
    ptr=cs-1;
    for(int i=1;i<=rs;++i)
    {
        int cm=-1;
        while(ptr<m)
        {
            int cur=Measure(i,ptr+1);
            if(cur<x) break;
            cm=cur;
            ++ptr;
        }
        if(cm==x) ans={i,ptr};
    }
    // case 4: down left
    ptr=cs+1;
    for(int i=1;i<=rs;++i)
    {
        int cm=-1;
        while(ptr>1)
        {
            int cur=Measure(i,ptr-1);
            if(cur<x) break;
            cm=cur;
            --ptr;
        }
        if(cm==x) ans={i,ptr};
    }
    Pinpoint(ans.first,ans.second);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...