Submission #157312

# Submission time Handle Problem Language Result Execution time Memory
157312 2019-10-10T14:53:28 Z GoldNextYear Tavan (COCI16_tavan) C++14
80 / 80
2 ms 376 KB
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#include <bits/stdc++.h>
using namespace std;
#define sqr 340
#define mid (l+r)/2
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define lb lower_bound
#define ub upper_bound
#define ins insert
#define era erase
#define C continue
#define mem(dp,i) memset(dp,i,sizeof(dp))
#define mset multiset
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pi;
typedef pair<ll,ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<pi> vpi;
typedef vector<pll> vpll;
const ll mod=1000000007;
const ll inf=1e18*4;
const ld pai=acos(-1);
ll n,m,k,x;
string ss;
string s[509];
ll bs[509][27];
ll po(ll x,ll y){
        ll xxx=1;
        while(y--){
                xxx*=x;
                if(xxx>1e12)return 1e12;
        }
        return xxx;
}
int main(){
        cin>>n>>m>>k>>x;
        cin>>ss;
        for(int i=0;i<m;i++)cin>>s[i],sort(s[i].begin(),s[i].end());
        for(int i=0;i<m;i++){
                for(int j=0;j<k;j++){
                        bs[i][j]+=po(k,m-i-1);
                }
        }
        vll v;
        for(int i=0;i<m;i++){
                for(int j=0;j<k;j++){
                        ll X=bs[i][j];
                        if(x<=X){
                                v.pb(j);
                                break;
                        }
                        x-=X;
                }
        }
        ll j=0;
        for(int i=0;i<ss.size();i++){
                if(ss[i]!='#'){
                        cout<<ss[i];
                        C;
                }
                cout<<s[j][v[j]];
                j++;
        }
        cout<<endl;
}

Compilation message

tavan.cpp: In function 'int main()':
tavan.cpp:61:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<ss.size();i++){
                     ~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 1 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct