結果
| 問題 |
No.2357 Guess the Function
|
| コンテスト | |
| ユーザー |
aoblue2547
|
| 提出日時 | 2023-06-23 22:32:58 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,500 bytes |
| コンパイル時間 | 3,687 ms |
| コンパイル使用メモリ | 232,668 KB |
| 実行使用メモリ | 25,220 KB |
| 平均クエリ数 | 3.00 |
| 最終ジャッジ日時 | 2024-07-01 02:17:18 |
| 合計ジャッジ時間 | 4,843 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 9 WA * 1 |
ソースコード
//テンプレート
//Visual Studio用
#define _CRT_SECURE_NO_WARNINGS
#include <bits/stdc++.h>
using namespace std;
template<class T> bool chmin(T& a, T b) {return a > b ? a = b, true : false;}
template<class T> bool chmax(T& a, T b) {return a < b ? a = b, true : false;}
template<class T> vector<T> cumulate(vector<T>& a) {
const int n = (int)a.size();
vector<T> res(n + 1);
a.emplace_back(0);
exclusive_scan(a.begin(), a.end(), res.begin(), 0ll);
a.pop_back();
return res;
}
template<class T>istream& operator>>(istream& is, vector<T>& v) { for (auto& e : v)is >> e; return is; }
template<class T>ostream& operator<<(ostream& os, vector<T>& v) { for (auto& e : v)os << e << " "; return os; }
using ll = long long;
using ull = unsigned long long;
using uint = unsigned int;
struct Edge {
int to;
ll weight;
Edge(int t, ll w) :to(t), weight(w) {}
bool operator==(Edge e) {
return this->to == e.to and this->weight == e.weight;
}
bool operator<(Edge e) {
if (this->to < e.to) {
return this->weight <= e.weight;
}
else return false;
}
};
ostream& operator<<(ostream& os, Edge e) { cout << e.to; return os; }
using graph_ = vector<vector<Edge>>;
class Graph {
graph_ g;
public:
Graph(int n) :g(n) {}
graph_::iterator begin() { return g.begin(); }
graph_::const_iterator begin() const { return g.begin(); }
graph_::iterator end() { return g.end(); }
graph_::const_iterator end() const { return g.end(); }
vector<Edge>& operator [](int v) {
return g[v];
}
const graph_& data() { return g; }
void add(int u, int v, ll w = 1) {
g[u].emplace_back(Edge{ v,w });
}
void wadd(int u, int v, ll w = 1) {
add(u, v, w);
add(v, u, w);
}
};
//Atcoder Library
/**/
#include <atcoder/all>
using namespace atcoder;
using mint = modint998244353;
//using mint = modint1000000007;
//using mint0 = dynamic_modint<0>;
//using mint = modint;
//mint::set_mod();
istream& operator>>(istream& is, mint& x) { ll r; cin >> r; x = r; return is; }
ostream& operator<<(ostream& os, mint& x) { cout << x.val(); return os; }
/**/
//debug用
#define SHOW(n) cout << #n << " = " << n << endl;
/*
ここまでテンプレート
*/
int main() {
/**/
cin.tie(nullptr);
ios::sync_with_stdio(false);
/**/
cout << "? " << 100 << endl;
int x;
cin >> x;
cout << "? " << 100 - x - 1 << endl;
int y;
cin >> y;
int b = y + 1, a = 0;
for (int i = 1; i < b; ++i) {
if ((i + 100 - x) % b == 0) {
a = i;
break;
}
}
cout << "! " << a << ' ' << b << endl;
return 0;
}
aoblue2547