답안 #285204

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
285204 2020-08-28T11:45:25 Z peti1234 통행료 (IOI18_highway) C++17
12 / 100
168 ms 2624 KB
#include <bits/stdc++.h>
#include "highway.h"
using namespace std;
const int c=90002;
long long m, dist, xo, s, kul, ert[c], cnt, cs1, cs2;;
bool v[c];
vector<int> sz;
/*int ask(vector<int> sz) {
    for (int i=0; i<m; i++) cout << sz[i] << " ";
    int x;
    cin >> x;
    return x;
}
void answer(int a, int b) {
    cout << "valasz " << a << " " << b << "\n";
}*/
void find_pair(int n, vector<int> x, vector<int> y, int gy, int e) {
    m=x.size(), sz.resize(m);
    for (int i=0; i<m; i++) sz[i]=0;
    dist=ask(sz);
    for (int i=0; i<18; i++) {
        for (int j=0; j<m; j++) {
            if (((x[j])&(1<<i))==(((y[j])&(1<<i)))) sz[j]=0;
            else sz[j]=1;
        }
        s=ask(sz);
        kul=(s-dist)/(e-gy);
        if (kul%2) xo+=(1<<i);
    }
    for (int i=0; i<n; i++) {
        int f=(i^xo);
        if (!v[i] && f<n && !v[f]) v[i]=1, v[f]=1, cnt++, ert[i]=cnt;
    }
    for (int i=0; i<18; i++) {
        for (int j=0; j<m; j++) {
            if (ert[x[j]&(1<<i)]==ert[y[j]&(1<<i)]) sz[j]=0;
            else sz[j]=1;
        }
        s=ask(sz);
        kul=(s-dist)/(e-gy);
        if (kul%2) cs1+=(1<<i);
    }
    cs2=(cs1^xo);
    answer(cs1, cs2);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
7 Correct 1 ms 256 KB Output is correct
8 Correct 1 ms 256 KB Output is correct
9 Correct 1 ms 384 KB Output is correct
10 Correct 1 ms 256 KB Output is correct
11 Correct 1 ms 384 KB Output is correct
12 Correct 1 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 13 ms 512 KB Output is correct
3 Correct 129 ms 2624 KB Output is correct
4 Correct 111 ms 2580 KB Output is correct
5 Correct 128 ms 2476 KB Output is correct
6 Correct 124 ms 2472 KB Output is correct
7 Correct 161 ms 2484 KB Output is correct
8 Correct 168 ms 2624 KB Output is correct
9 Correct 148 ms 2544 KB Output is correct
10 Correct 137 ms 2568 KB Output is correct
11 Correct 113 ms 2468 KB Output is correct
12 Correct 160 ms 2608 KB Output is correct
13 Correct 124 ms 2408 KB Output is correct
14 Correct 117 ms 2464 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 11 ms 640 KB Output is incorrect: {s, t} is wrong.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 384 KB Output is incorrect: {s, t} is wrong.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 18 ms 504 KB Output is incorrect: {s, t} is wrong.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 17 ms 512 KB Output is incorrect: {s, t} is wrong.
2 Halted 0 ms 0 KB -