| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 272886 | Kastanda | Cup of Jamshid (IOI17_cup) | C++11 | 2 ms | 384 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// M
#include<bits/stdc++.h>
#include "cup.h"
using namespace std;
vector < int > find_cup()
{
        int K = 5e8;
        int Xor = ask_shahrasb(-K, -K);
        int LG = 30;
        vector < int > Rs = {0, 0};
        for (int i = 0; i < LG - 1; i ++)
        {
                int a = ask_shahrasb(-K - (1 << i), -K);
                int df = a ^ Xor;
                int lb = -1;
                for (int j = i; j < LG; j ++)
                        if (df >> j & 1)
                                lb = j;
                assert(lb != -1);
                for (int j = i; j < lb; j ++)
                        Rs[0] |= 1 << j;
                i = lb;
        }
        {
                int a2 = Rs[0] | (1 << (LG - 1)), b2 = a2 ^ Xor;
                a2 -= K; b2 -= K;
                int f1 = ask_shahrasb(a2 - 1, b2);
                //int f2 = ask_shahrasb(a2, b2);
                int f3 = ask_shahrasb(a2 + 1, b2);
                if (f1 == 1 && f3 == 1)
                        Rs[0] |= 1 << (LG - 1);
        }
        Rs[1] = Rs[0] ^ Xor;
        Rs[0] -= K;
        Rs[1] -= K;
        return Rs;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
