gt22 icon

Untitled

gt22 | PRO | 10/10/19 03:19:45 PM UTC | 0 ⭐ | 671 👁️ | Never ⏰ | []
C++ |

1.29 KB

|

None

|

0 👍

/

0 👎

#include <vector>
#include "optimization.h"
 
using namespace std;
 
int main() {
    int m = readInt();
    vector<pair<int, int>> arr, ans;
    while(true) {
        int a = readInt(), b = readInt();
        if(a == 0 && b == 0) {
            break;
        }
        if(b > 0) {
            arr.emplace_back(a, b);
        }
    }
    sort(arr.begin(), arr.end());
    int curR = 0;
    int maxR = -1;
    for (int i = 0; i < arr.size(); i++) {
        if(arr[i].first > curR) {
            if(maxR == -1 || arr[maxR].second < arr[i].first) {
                writeWord("No solution\n");
                return 0;
            } else {
                ans.push_back(arr[maxR]);
                curR = arr[maxR].second;
                maxR = -1;
                if(curR >= m) {
                    break;
                }
            }
        }
        if(maxR == -1 || arr[i].second > arr[maxR].second) {
            maxR = i;
        }
    }
    if(curR < m) {
        if(maxR == -1 || arr[maxR].second < m) {
            writeWord("No solution\n");
            return 0;
        }
        ans.push_back(arr[maxR]);
    }
 
    writeInt(ans.size(), '\n');
    for(auto p : ans) {
        writeInt(p.first, ' ');
        writeInt(p.second, '\n');
    }
    return 0;
}

Comments