Submission #733872

#TimeUsernameProblemLanguageResultExecution timeMemory
733872vjudge1Cryptography (NOI20_crypto)C++17
14 / 100
1091 ms4940 KiB
#include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define oset tree<int, null_type,less_equal<int>, rb_tree_tag,tree_order_statistics_node_update> template<typename... T> void see(T&... args) {((cin >> args), ...);} template<typename... T> void put(T&&... args) {((cout << args << ' '), ...);} template<typename... T> void putl(T&&... args) {((cout << args << ' '), ...); cout << '\n';} #define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define int long long #define F first #define S second #define ii pair<int, int> #define vt vector #define pb push_back #define all(a) (a).begin(), (a).end() #define sz size() #define endl '\n' #define rep(i,a,b) for(int i=a; i<=b; i++) #define rev(i,b,a) for(int i=b; i>=a; i--) #define reada(a,x,y) for(int i=x; i<=y; i++){cin >> a[i];} const int M = 1e9+7; const int Mxn = 1e6, Nxn = 2*1e5, Mxm = 3e5+5, Nxm = 1005, Dxn = 1e9+1; int a[Mxm], b[Mxm]; void solve() { int n; see(n); rep(i,0,n-1) { see(a[i]); b[i] = a[i]; } sort(a, a+n); int s = 0; while(next_permutation(a, a+n)) { (s += 1) %= M; int k = 0; rep(i,0,n-1) { if(a[i] == b[i]) k++; } if(k == n) { cout << s+1; return; } } cout << 1; return; } signed main() { IOS int t=1; //cin >> t; while(t--) { solve(); cout << endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...