Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma GCC optimize("Ofast")
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- #include <cstdio>
- #include <numeric>
- #include <cstring>
- #include <ctime>
- #include <cstdlib>
- #include <set>
- #include <map>
- #include <unordered_map>
- #include <unordered_set>
- #include <list>
- #include <cmath>
- #include <bitset>
- #include <cassert>
- #include <queue>
- #include <stack>
- #include <deque>
- #include <cassert>
- #include <iomanip>
- #include <random>
- using namespace std;
- #define ll long long
- #define ld double
- #define endl '\n'
- #define int long long
- template<typename T> void uin(T &a, T b) {
- if (b < a) a = b;
- }
- template<typename T> void uax(T &a, T b) {
- if (b > a) a = b;
- }
- mt19937 rnd(rand());
- int n;
- map<int, pair<int, int>> cnt;
- vector<pair<pair<int, int>, pair<int, int>>> vec;
- int sz, a, d = 1, e, f, g, a2, b2, c2;
- double dou, dou2;
- double b, c;
- deque<long long>mas[301][301], mas2[301][301];
- string s;
- signed main() {
- ios_base::sync_with_stdio(false);
- cin.tie(0);
- cin >> a >> b >> c;
- dou = ceil(a / (c + 1)+0.0000001);
- dou = (double)(a - dou)*(b + 1);
- dou2 = ceil(a / (b + 1) + 0.0000001);
- dou2 = (double)(a - dou2)*(c + 1);
- if (dou > dou2) {
- swap(dou, dou2);
- e = 1;
- }
- if (dou2 <= a) {
- cout << -1;
- return 0;
- }
- cout << dou2 << endl;
- if (dou2 - 0.000001 < dou) {
- dou = ceil(a / (c + 1) + 0.0000001);
- dou2 = ceil(a / (b + 1) + 0.0000001);
- if (dou != dou2) {
- cout << 2 << endl;
- if (dou < dou2) {
- dou2 = a - dou2;
- cout << dou << " " << a - dou << endl;
- cout << dou2 << " " << a - dou2 << endl;
- }
- else {
- dou2 = a - dou2;
- cout << dou << " " << a - dou << endl;
- cout << dou2 << " " << a - dou2<<endl;
- }
- }
- else {
- cout << 1 << endl;
- if (e == 0) {
- cout << dou << " " << a - dou << endl;
- }
- else {
- cout << dou2 << " " << a - dou2 << endl;
- }
- }
- }
- else {
- dou = ceil(a / (c + 1) + 0.0000001);
- dou2 = ceil(a / (b + 1) + 0.0000001);
- cout << 1 << endl;
- if (e == 0) {
- cout << dou2 << " " << a - dou2 << endl;
- }
- else {
- cout << a - dou << " " << dou << endl;
- }
- }
- cin >> b;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement