Cod sursa(job #2522931)
| Utilizator | Data | 13 ianuarie 2020 13:57:06 | |
|---|---|---|---|
| Problema | A+B | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 1.26 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("numere.in");
ofstream g("numere.out");
int p,n,b,k,m,nr,ex,rasp1,sum;
string st[1005],x;
pair <int,string> v[1005];
int main()
{
f>>p>>n>>b>>k>>m;
if(p==1)
{
for(int i=1;i<=n;i++)
{
f>>x;
st[i]=x;
nr=0;
ex=0;
for(int j=x.size()-1;j>=0;j--)
{
nr+=pow(b,ex)*(x[j]-'A');
ex++;
}
v[i].first=nr;
v[i].second=x;
}
sort(st+1,st+n+1);
sort(v+1,v+n+1);
for(int i=1;i<=n;i++)
{
if(v[i].second==st[i])
{
rasp1++;
}
}
g<<rasp1;
}
else if(p==2)
{
for(int i=1;i<=n;i++)
{
f>>x;
st[i]=x;
nr=0;
ex=0;
for(int j=x.size()-1;j>=0;j--)
{
nr+=pow(b,ex)*(x[j]-'A');
ex++;
}
v[i].first=nr;
v[i].second=x;
}
sort(v+1,v+n+1);
for(int i=1;i<=k;i++)
{
sum+=v[i].first();
}
}
return 0;
}
