Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream in("axyz.in");
- ofstream out("axyz.out");
- int v[33110], p, A, n, cifra, pos;
- int vec[33110];
- int f[10];
- void Citire() {
- in >> p >> A >> n;
- int x, y;
- in >> v[1];
- x = v[1];
- for(int i = 2; i <= n; ++i){
- in >> v[i];
- y = v[i];
- if(x > y)
- pos = i - 1;
- x = y;
- }
- }
- void Solve1() {
- int gasit = 0;
- for(int i = n; i > pos; --i)
- if(v[pos] > v[i]){
- int aux = v[pos];
- v[pos] = v[i];
- v[i] = aux;
- break;
- }
- for(int i = 1; i <= pos; ++i)
- out << v[i];
- for(int i = n; i > pos; --i)
- out << v[i];
- }
- void Solve2() {
- cifra = A % 10;
- for(int i = n; i >= 1; --i)
- if(v[i] == cifra)
- vec[i] = vec[i + 1] + 1;
- else
- vec[i] = vec[i + 1];
- A /= 10;
- while(A) {
- cifra = A % 10;
- for(int i = n; i >= 1; --i)
- if(v[i] == cifra) {
- vec[i] = vec[i + 1] + vec[i];
- }
- else vec[i] = vec[i + 1];
- A /= 10;
- }
- out << vec[1];
- }
- int main() {
- Citire();
- if(p == 1)
- Solve1();
- else
- Solve2();
- in.close();
- out.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement