Submission #709149

#TimeUsernameProblemLanguageResultExecution timeMemory
709149kxdPassword (RMI18_password)C++17
50 / 100
375 ms448 KiB
#include <bits/stdc++.h> //#define int long long #define ll unsigned long long #define pb push_back #define p_q priority_queue #define m_p make_pair #define pii pair<int,int> #define endl '\n' #define INIT ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define FOR(i, a, b) for(int i = a; i <= b; i++) #define forn(i, n) for (int i = 0; i < n; i++) #define forn1(i, n) for (int i = 1; i <= n; i++) #define all(x) x.begin(),x.end() #define ft first #define sd second using namespace std; const int N = 1e5+5; const int INF = 1e18; const int MOD = 1e9+7; using namespace std; int tot[26]; int ans[5000]; bool vis[26][26]; int query(string str); string guess(int n, int s) { forn(i,s) { string S (n,char('a'+i)); tot[i] = query(S); } forn(i,s) { for(int j = tot[i]; j >= 1; j--) { int ret = 0; forn(k,s) { if(tot[k]==0) continue; int t; if(vis[i][k]) { t = tot[k]; } else if(k==i) { t = tot[i]-j; } else { string S (j,'a'+i); string S2 (n-j,'a'+k); t = query(S+S2)-j; if(t==tot[k]) { vis[i][k]=1; } } ret += t; } ans[ret] = i; } } string S; for(int i = n-1; i >= 0; i--) { S = S + (char)(ans[i]+'a'); } return S; }

Compilation message (stderr)

password.cpp:19:17: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+18' to '2147483647' [-Woverflow]
   19 | const int INF = 1e18;
      |                 ^~~~
#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...