QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#777775#9794. ICPC Shenyang in NEU, the Tenth Consecutive YearWillisAC ✓11ms3772kbC++142.1kb2024-11-24 09:22:372024-11-24 09:22:38

Judging History

你现在查看的是最新测评结果

  • [2024-11-24 09:22:38]
  • 评测
  • 测评结果:AC
  • 用时:11ms
  • 内存:3772kb
  • [2024-11-24 09:22:37]
  • 提交

answer

#ifdef local
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#endif
// #pragma comment(linker, "/STACK:102400000,102400000")

#include <algorithm>
#include <bitset>
#include <cassert>
#include <cctype>
#include <chrono>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <deque>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <map>
#include <queue>
#include <random>
#include <set>
#include <stack>
#include <string>
#include <unordered_map>
#include <vector>

#ifndef local
#define endl '\n'
#endif

#define pb emplace_back
#define fi first
#define se second
#define rep(i, l, r) for (long long i = l; i <= r; i++)
#define IOS ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
#define mem(a, x) memset(a, x, sizeof(a))
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef double db;
typedef pair<int, int> P;
typedef pair<P, int> PP;
const double pi = acos(-1);
typedef __int128_t int128;
const db eps = 1e-9;
std::mt19937_64 rng(time(0));
ll my_random(ll l, ll r)
{

    uniform_int_distribution<int> range(l, r);
    return range(rng);
}
void __()
{
#ifdef local
    system("pause");
#endif
}
ll qp(ll a, ll b, ll mod)
{
    ll ans = 1;
    while (b)
    {
        if (b & 1)
            ans = ans * a % mod;
        a = a * a % mod;
        b >>= 1;
    }
    return ans;
}

const int maxn = 300 + 10;
const ll mod = 1e9 + 7;
int dp[maxn][maxn][maxn][4];
int ans[maxn][maxn][maxn];
int sum[maxn][maxn][maxn];
int main()
{
    IOS;
    int t;
    cin >> t;
    while (t--)
    {
        int k = -1;
        for (int i = 1; i <= 100; i++)
        {
            cout << "? " << i + 1922 << endl;
            cout.flush();
            int x;
            cin >> x;
            if (x != 0)
                k = i + 1922;
        }
        if (k == -1)
            cout <<"! 2023"<< endl;
        else
            cout << "! " << k << endl;
    }
    __();
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3772kb

input:

1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0

output:

? 1923
? 1924
? 1925
? 1926
? 1927
? 1928
? 1929
? 1930
? 1931
? 1932
? 1933
? 1934
? 1935
? 1936
? 1937
? 1938
? 1939
? 1940
? 1941
? 1942
? 1943
? 1944
? 1945
? 1946
? 1947
? 1948
? 1949
? 1950
? 1951
? 1952
? 1953
? 1954
? 1955
? 1956
? 1957
? 1958
? 1959
? 1960
? 1961
? 1962
? 1963
? 1964
? 1965...

result:

ok correct! (1 test case)

Test #2:

score: 0
Accepted
time: 11ms
memory: 3656kb

input:

100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1923
? 1924
? 1925
? 1926
? 1927
? 1928
? 1929
? 1930
? 1931
? 1932
? 1933
? 1934
? 1935
? 1936
? 1937
? 1938
? 1939
? 1940
? 1941
? 1942
? 1943
? 1944
? 1945
? 1946
? 1947
? 1948
? 1949
? 1950
? 1951
? 1952
? 1953
? 1954
? 1955
? 1956
? 1957
? 1958
? 1959
? 1960
? 1961
? 1962
? 1963
? 1964
? 1965...

result:

ok correct! (100 test cases)

Extra Test:

score: 0
Extra Test Passed