제출 #781483

#제출 시각아이디문제언어결과실행 시간메모리
781483vjudge1Highway Tolls (IOI18_highway)C++17
0 / 100
82 ms2412 KiB
#include "highway.h"
#include<bits/stdc++.h>
using namespace std;
void find_pair(int N, std::vector<int> U, std::vector<int> V, int A, int B) {
    int M = U.size();
    std::vector<int> w(M, 0);
    long long toll = ask(w);
    int dis = toll/A;
    int l = 0, r = N-1;
    while(l<r) {
        vector<int> v(M, 0);
        int mid = l+r>>1;
        for(int i = 0; i <= mid; i++)
            v[i] = 1;
        toll = ask(v);                       
        if(toll==A*dis) {
            l = mid+1;
        } else if (toll==B*dis){
            r = mid;
        } else {
            long long over = toll-dis*A;
            over/=(B-A);
            answer(mid-over+1, mid-over+1+dis);
            return;
        }
        if(r-l+1==dis) {
            answer(l, r+1);
            return;
        }
    }
}

컴파일 시 표준 에러 (stderr) 메시지

highway.cpp: In function 'void find_pair(int, std::vector<int>, std::vector<int>, int, int)':
highway.cpp:12:20: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   12 |         int mid = l+r>>1;
      |                   ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...