結果

問題 No.2451 Redistribute Integers
ユーザー stella1225
提出日時 2023-09-20 00:58:08
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 219 ms / 2,000 ms
コード長 4,749 bytes
コンパイル時間 1,819 ms
コンパイル使用メモリ 177,436 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-11 11:08:25
合計ジャッジ時間 4,703 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <bits/stdc++.h>
#include <assert.h>
//#include <atcoder/all>
using namespace std;
//using namespace atcoder;
#define rep(i,a,n) for (int i = a; i < (n); i++)
//#define REP(m) for (int i = 0; i < (m); i++)
#define all(x) (x).begin(),(x).end()
using ll = long long;
using P = pair<int,int>;
using Graph = vector<vector<int>>;
using Grid = vector<vector<char>>;
int mod = 998244353;
int INF = 1001001001;
//cout << fixed << setprecision(15);
using vi = vector<int>;
using vc = vector<char>;
using vs = vector<string>;
using vll = vector<ll>;
using pii = pair<int, int>;
using pci = pair<char,int>;
using pic = pair<int,char>;
using pll = pair<ll, ll>;
using mii = map<int,int>;
using mci = map<char,int>;
int Flag=0;
//No
void yn(int Flag){
if(Flag==1){
cout<<"Yes"<<endl;
}
else if(Flag==0){
cout<<"No"<<endl;
}
else{
cout<<-1<<endl;
}
}
//cerrGrid
void cerrGrid(vector<vector<char>> &V){
int n=V.size();
rep(i,0,n){
for(auto x:V[i]){
cerr<<x<<" ";
}
cerr<<endl;
}
cerr<<endl;
}
//cerrGraph
void cerrGraph(vector<vector<int>> &G){
int n=G.size();
rep(i,0,n){
for(auto& vertex:G[i]){
cerr<<vertex<<" ";
}
cerr<<endl;
}
}
//cerrIntVec
void cerrIntVec(vector<int> &V){
for(auto& v:V){
cerr<<v<<endl;
}
}
//UnionFind
class UnionFind
{
public:
UnionFind() = default;
/// @brief Union-Find
/// @param n
explicit UnionFind(size_t n)
: m_parentsOrSize(n, -1) {}
/// @brief i root
/// @param i 調
/// @return i root
int find(int i)
{
if (m_parentsOrSize[i] < 0)
{
return i;
}
//
return (m_parentsOrSize[i] = find(m_parentsOrSize[i]));
}
/// @brief a b
/// @param a
/// @param b
void merge(int a, int b)
{
a = find(a);
b = find(b);
if (a != b)
{
// union by size (
if (-m_parentsOrSize[a] < -m_parentsOrSize[b])
{
std::swap(a, b);
}
m_parentsOrSize[a] += m_parentsOrSize[b];
m_parentsOrSize[b] = a;
}
}
/// @brief a b
/// @param a
/// @param b
/// @return a b true, false
bool connected(int a, int b)
{
return (find(a) == find(b));
}
/// @brief i
/// @param i
/// @return i
int size(int i)
{
return -m_parentsOrSize[find(i)];
}
private:
// m_parentsOrSize[i] i ,
// root (-1 * )
std::vector<int> m_parentsOrSize;
};
//dfs
void dfs(int now, vector<int> &seen, Graph &G){
seen[now]=true;
for(auto next:G[now]){
if(seen[next]) continue;
dfs(next, seen,G);
}
}
//dfs
bool dfs(int now, vector<bool> &seen, vector<bool> &finished, Graph &G){
bool res=1;
seen[now]=1;
for(auto nx:G[now]){
if(seen[nx] && !finished[nx]){
res=0;
return res;
}
else if(seen[nx]){
continue;
}
res&=dfs(nx, seen, finished, G);
}
finished[now]=1;
return res;
}
//main
/*
int main(){
int N,M; cin>>N>>M;
Graph G(N);
rep(i,0,M){
int A,B; cin>>A>>B;
A--; B--;
G[A].push_back(B);
G[B].push_back(A);
}
}
*/
//2
string to_2(int K){
string res;
while(K>0){
if(K%2==1){
res+='1';
}
else{
res+='0';
}
K/=2;
}
reverse(all(res));
return res;
}
//N
vector<ll> Eratosthenes( const int N ){
//is_prime[i]false->i
vector<int> is_prime(N+1);
vector<ll> res;
rep(i,2,N+1){
if(is_prime[i]==false){
for(int j=2*i; j<N+1; j+=i){
is_prime[j]=true;
}
res.push_back(i);
}
}
return res;
}
//map
void cerrMapIntInt(map<int,int> mp){
auto begin = mp.begin(), end = mp.end();
for (auto iter = begin; iter != end; iter++) {
// first: key, second: value
cout << "key = " << iter->first << "\n";
cout << "value = " << iter->second << "\n";
}
}
int main(){
int N; cin>>N;
vector<int> A(N);
rep(i,0,N) cin>>A[i];
rep(i,0,N){
A[i]+=1e9+2;
}
rep(i,0,N-1){
if(A[i+1]%N!=A[i]%N){
yn(0);
return 0;
}
}
yn(1);
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0