Submission #537720

#TimeUsernameProblemLanguageResultExecution timeMemory
537720kabikaCryptography (NOI20_crypto)C++14
14 / 100
1071 ms10232 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; constexpr ll MOD = 1e9 + 7; int main() { int n; cin >> n; vector<ll> fact(n); fact[0] = 1; for(int i = 1; i < n; ++i) fact[i] = i*fact[i-1]; vector<ll> p(n); for(auto& x : p) cin >> x; ll lex = 0; vector<ll> srt(p.begin(), p.end()); sort(srt.begin(), srt.end()); int i = 0; while(!srt.empty()) { auto it = lower_bound(srt.begin(), srt.end(), p[i]); int pos = it - srt.begin(); lex = (lex + pos*fact[n-i-1]) % MOD; srt.erase(it); ++i; } ++lex; cout << lex << '\n'; 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...