Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P152PROF - ROUND 2F - Min max |
Cho số tự nhiên m và số nguyên s không âm. Nhiệm vụ của bạn là tìm số bé nhất và lớn nhất có m chữ số và tổng chữ số bằng s.
Input
Dòng đầu gồm 2 số m và s (1 ≤ m ≤ 100, 0 ≤ s ≤ 900).
Output
In ra kết quả của bài toán.
Số đầu tiên là số bé nhất, số thứ hai là số lớn nhất. Nếu không có đáp án in ra “-1 -1”.
Example
Input: 2 15 Output: 69 96
Được gửi lên bởi: | adm |
Ngày: | 2015-03-10 |
Thời gian chạy: | 0.5s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |
hide comments
2017-08-20 18:45:44 Con Bò Huyền Thoại
http://kienthuc24h.com/p152prof-ptit-spoj-round-2f-min-max/ |
|
2017-03-07 15:56:42
mọi người cho e hỏi là sao thế này vẫn chưa đc nhỉ: // P152PROF - ROUND 2F - Min max #include<bits/stdc++.h> using namespace std; long long m,s; int a[1001]; void giaithuat(){ if(m==1 && s==0){ cout << "0 0"; return; } if(s>m*9 || s==0){ cout << "-1 -1"; return; } // tim so be nhat int st=s; for(int i=m; i>=1; i--){ for(int j=9; j>=0; j--){ if(st-j>=0){ a[i]=j; st=st-j; break; } } if(a[i]==0) break; } for(int i=1; i<=m; i++) cout << a[i]; cout << " "; // tim so lon nhat int st1=s; for(int i=1; i<=m; i++){ for(int j=9; j>=0; j--){ if(st1-j>=0){ a[i]=j; // vs so co 2 chu so: neu tong >= 9 thi so max la 9X, con min 1Y st1=st1-j; break; } } if(a[i]==0) break; } for(int i=1; i<=m; i++) cout << a[i]; } int main(){ cin>>m>>s; giaithuat(); return 0; } |
|
2015-03-24 09:58:04 Con Bò Huyền Thoại
Last edit: 2017-08-20 18:45:38 |