結果
| 問題 |
No.1052 電子機器X
|
| コンテスト | |
| ユーザー |
Chunen
|
| 提出日時 | 2020-08-06 17:05:14 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 2,949 bytes |
| コンパイル時間 | 1,596 ms |
| コンパイル使用メモリ | 172,780 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-09-20 07:02:51 |
| 合計ジャッジ時間 | 2,361 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const long long MOD = 1e9+7;
#define ALL(A) A.begin(),A.end()
void ALLIN1_NUMBER(vector<ll>& V)
{
for(auto& x : V)
{
cin >> x;
}
}
void ALLOUT_NUMBER(vector<ll> V)
{
ll N = V.size();
for(ll i=0;i<N;i++)
{
cout << V[i];
if(i<N-1) cout << ' ';
}
cout << endl;
}
class Mll
{
public:
ll x;
Mll() : x(0){}
Mll(ll x=0) : x((x%MOD+MOD)%MOD){}
Mll operator-() const
{
return Mll(-x);
}
Mll& operator+=(const Mll& A)
{
if((x += A.x) >= MOD) x -= MOD;
return *this;
}
Mll& operator-=(const Mll& A)
{
if((x += MOD - A.x) >= MOD) x -= MOD;
return *this;
}
Mll& operator*=(const Mll& A)
{
(x *= A.x) %= MOD;
return *this;
}
Mll operator+(const Mll& A)
{
Mll res(*this);
return res+=A;
}
Mll operator-(const Mll& A)
{
Mll res(*this);
return res-=A;
}
Mll operator*(const Mll& A)
{
Mll res(*this);
return res*=A;
}
Mll pow(ll t) const // t乗
{
if(t==0) return 1;
Mll A = pow(t>>1);
A *= A;
if(t&1) A *= *this;
return A;
}
// for prime mod
Mll inv() const
{
return pow(MOD-2);
}
Mll& operator/=(const Mll& A)
{
return (*this) *= A.inv();
}
Mll operator/(const Mll& A) const
{
Mll res(*this);
return res/=A;
}
friend ostream& operator<<(ostream& os, const Mll& M)
{
os << M.x;
return os;
}
};
vector<Mll> ALLIN_MLL(ll N)
{
vector<ll> numbers_ll(N);
ALLIN1_NUMBER(numbers_ll);
vector<Mll> numbers_Mll;
for(ll i=0;i<N;i++)
{
Mll add(numbers_ll[i]);
numbers_Mll.push_back(add);
}
return numbers_Mll;
}
class UnionFind
{
public:
vector<ll> par;
UnionFind(ll n) : par(n)
{
for(ll i=0;i<n;i++)
{
par[i] = i;
}
}
ll root(ll n)
{
if(par[n]==n) return n;
return par[n] = root(par[n]);
}
void unite(ll x, ll y)
{
ll rx = root(x), ry = root(y);
if(rx == ry) return;
par[rx] = ry;
}
bool same(ll x, ll y)
{
ll rx = root(x), ry = root(y);
return (rx == ry);
}
};
template<class T>
void OUT0(T N)
{
cout << N << endl;
}
static const double pi = acos(-1.0);
double Cos(double D)
{
return cos(pi/180 * D);
}
vector<ll> RUI(ll N, vector<ll> IN)
{
vector<ll> ret(N+1);
ret[0] = 0;
for(ll i=1;i<=N;i++)
{
ret[i] = ret[i-1] + IN[i-1];
}
return ret;
}
int main()
{
ll N,K;
cin >> N >> K;
if(N%2==0)
{
cout << min(N/2,K+1) << endl;
}
else
{
cout << min(N, K+1) << endl;
}
return 0;
}
Chunen