Submission #34732642
Source Code Expand
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
// #pragma GCC target("popcnt")
using namespace std;
using namespace __gnu_pbds;
template <typename t>
using ordered_set = tree<t, null_type, less<t>, rb_tree_tag, tree_order_statistics_node_update>;
// #pragma gcc optimize("ofast")
// #pragma gcc target("avx,avx2,fma")
#define int long long
#define all(x) (x).begin(), (x).end()
#define pb push_back
#define endl '\n'
#define fi first
#define se second
// const int mod = 1e9 + 7;
const int mod=998'244'353;
const long long INF = 2e18 + 10;
// const int INF=1e9+10;
#define readv(x, n) \
vector<int> x(n); \
for (auto &i : x) \
cin >> i;
template <typename t>
using v = vector<t>;
template <typename t>
using vv = vector<vector<t>>;
template <typename t>
using vvv = vector<vector<vector<t>>>;
typedef vector<int> vi;
typedef vector<double> vd;
typedef vector<vector<int>> vvi;
typedef vector<vector<vector<int>>> vvvi;
typedef vector<vector<vector<vector<int>>>> vvvvi;
typedef vector<vector<double>> vvd;
typedef pair<int, int> pii;
int multiply(int a, int b, int in_mod) { return (int)(1ll * a * b % in_mod); }
int mult_identity(int a) { return 1; }
const double pi = acosl(-1);
auto power(auto a, auto b, const int in_mod)
{
auto prod = mult_identity(a);
auto mult = a % in_mod;
while (b != 0)
{
if (b % 2)
{
prod = multiply(prod, mult, in_mod);
}
if(b/2)
mult = multiply(mult, mult, in_mod);
b /= 2;
}
return prod;
}
auto mod_inv(auto q, const int in_mod)
{
return power(q, in_mod - 2, in_mod);
}
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define stp cout << fixed << setprecision(20);
void solv()
{
int n;
cin>>n;
readv(p,n);
vi p_inv(n);
for(int i = 0;i<n;i++)
p_inv[p[i]] = i;
vi cnt(n );
for(int i = 0;i<n;i++)
{
int happy_rot = (p_inv[i] - i + n)%n;
cnt[happy_rot]++;
happy_rot = ( happy_rot + 1)%n;
cnt[happy_rot]++;
happy_rot = ( happy_rot -2 + n)%n;
cnt[happy_rot]++;
}
int mx = *max_element(all(cnt));
cout<<mx<<endl;
}
void solve()
{
int t = 1;
// cin>>t;
while(t--)
{
solv();
}
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cerr.tie(NULL);
auto clk = clock();
// -------------------------------------Code starts here---------------------------------------------------------------------
signed t = 1;
// cin >> t;
for (signed test = 1; test <= t; test++)
{
// cout<<"Case #"<<test<<": ";
solve();
}
// -------------------------------------Code ends here------------------------------------------------------------------
clk = clock() - clk;
#ifndef ONLINE_JUDGE
cerr << fixed << setprecision(6) << "\nTime: " << ((float)clk) / CLOCKS_PER_SEC << "\n";
#endif
return 0;
}
Submission Info
Submission Time
2022-09-10 21:05:57+0900
Task
C - Chinese Restaurant
User
Wernier
Language
C++ (GCC 9.2.1)
Score
300
Code Size
3339 Byte
Status
AC
Exec Time
37 ms
Memory
7924 KiB
Compile Error
./Main.cpp: In function ‘long long int mult_identity(long long int)’:
./Main.cpp:63:23: warning: unused parameter ‘a’ [-Wunused-parameter]
63 | int mult_identity(int a) { return 1; }
| ^
./Main.cpp: At global scope:
./Main.cpp:71:12: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts’
71 | auto power(auto a, auto b, const int in_mod)
| ^~~~
./Main.cpp:71:20: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts’
71 | auto power(auto a, auto b, const int in_mod)
| ^~~~
./Main.cpp:88:14: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts’
88 | auto mod_inv(auto q, const int in_mod)
| ^~~~
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
300 / 300
Status
Set Name
Test Cases
Sample
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_smallN_00.txt, 01_smallN_01.txt, 01_smallN_02.txt, 01_smallN_03.txt, 01_smallN_04.txt, 01_smallN_05.txt, 01_smallN_06.txt, 01_smallN_07.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 03_inc_00.txt, 03_inc_01.txt, 03_inc_02.txt, 03_inc_03.txt, 04_dec_00.txt, 04_dec_01.txt, 04_dec_02.txt, 04_dec_03.txt, 05_adj_00.txt, 05_adj_01.txt, 05_adj_02.txt, 05_adj_03.txt, 05_adj_04.txt, 05_adj_05.txt, 05_adj_06.txt, 05_adj_07.txt
Case Name
Status
Exec Time
Memory
00_sample_00.txt
AC
8 ms
3516 KiB
00_sample_01.txt
AC
3 ms
3596 KiB
00_sample_02.txt
AC
2 ms
3404 KiB
01_smallN_00.txt
AC
3 ms
3656 KiB
01_smallN_01.txt
AC
3 ms
3464 KiB
01_smallN_02.txt
AC
2 ms
3408 KiB
01_smallN_03.txt
AC
2 ms
3512 KiB
01_smallN_04.txt
AC
3 ms
3592 KiB
01_smallN_05.txt
AC
2 ms
3464 KiB
01_smallN_06.txt
AC
3 ms
3508 KiB
01_smallN_07.txt
AC
2 ms
3408 KiB
02_rnd_00.txt
AC
33 ms
7848 KiB
02_rnd_01.txt
AC
29 ms
7772 KiB
02_rnd_02.txt
AC
34 ms
7800 KiB
03_inc_00.txt
AC
37 ms
7868 KiB
03_inc_01.txt
AC
28 ms
7900 KiB
03_inc_02.txt
AC
31 ms
7848 KiB
03_inc_03.txt
AC
31 ms
7860 KiB
04_dec_00.txt
AC
27 ms
7924 KiB
04_dec_01.txt
AC
32 ms
7860 KiB
04_dec_02.txt
AC
33 ms
7788 KiB
04_dec_03.txt
AC
30 ms
7860 KiB
05_adj_00.txt
AC
27 ms
7848 KiB
05_adj_01.txt
AC
30 ms
7856 KiB
05_adj_02.txt
AC
32 ms
7776 KiB
05_adj_03.txt
AC
33 ms
7900 KiB
05_adj_04.txt
AC
33 ms
7788 KiB
05_adj_05.txt
AC
27 ms
7836 KiB
05_adj_06.txt
AC
32 ms
7856 KiB
05_adj_07.txt
AC
31 ms
7864 KiB