제출 #733932

#제출 시각아이디문제언어결과실행 시간메모리
733932vjudge1Cryptography (NOI20_crypto)C++17
26 / 100
1085 ms24268 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const ll d = 1e9 + 7; map <ll,ll> mp; ll ft(ll a, ll b) { ll ans = 1; for(ll i = a; i <= b; i++) { ans *= i; ans %= d; } return ans; } int main() { ll n; cin >> n; vector <ll> v(n), v1; for(ll i = 0; i < n; i++) { cin >> v[i]; mp[v[i]]++; } v1 = v; ll ans = 1; sort(v1.begin(), v1.end()); if(v == v1) { cout << 1; return 0; } reverse(v1.begin(), v1.end()); if(v1 == v) { cout << n; return 0; } else reverse(v1.begin(), v1.end()); for(ll i = 0; i < v.size(); i++) { for(ll j = 0; j < v1.size(); j++) { if(v[i] == v1[j]) { n--; if(mp[v[i]] != 1) { ll laa = (ft(2, n) / ft(2, mp[v[i]])); if(laa != 1) ans += laa; mp[v[i]]--; ans %= d; auto it = v1.begin() + j; auto it1 = v.begin() + i; v1.erase(it); v.erase(it1); i--; j--; break; } ans += ft(2, n) * j; ans %= d; auto it = v1.begin() + j; auto it1 = v.begin() + i; v1.erase(it); v.erase(it1); i--; j--; break; } } } cout << ans; }

컴파일 시 표준 에러 (stderr) 메시지

Crypto.cpp: In function 'int main()':
Crypto.cpp:35:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |     for(ll i = 0; i < v.size(); i++) {
      |                   ~~^~~~~~~~~~
Crypto.cpp:36:25: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |         for(ll j = 0; j < v1.size(); j++) {
      |                       ~~^~~~~~~~~~~
#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...