239442026-02-02 08:14:45pirosmacska10Leghosszabb béke (75 pont)cpp17Elfogadva 75/7539ms1576 KiB
#include <algorithm>
#include <climits>
#include <cmath>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;

using ll = long long;

vector<pair<int, int>> wars;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, m;
    cin >> n >> m;
    for (int i = 0; i < m; i++) {
        int a, b;
        cin >> a >> b;
        wars.push_back({a, b});
    }
    sort(wars.begin(), wars.end());

    
    int current_end = wars[0].second;
    int current_start = wars[0].first;
    int longest_peaceful = current_start - 1;
    int day = 1;
    for (int i = 1; i < m; i++) {
        if (wars[i].first <= current_end) {
            current_end = max(current_end, wars[i].second);
        } else {
            if (longest_peaceful < wars[i].first - current_end - 1) {
                longest_peaceful = wars[i].first - current_end - 1;
                day = current_end + 1;
            }
            current_start = wars[i].first;
            current_end = wars[i].second;
        }
    }
    if (longest_peaceful < n - current_end) {
        longest_peaceful = n - current_end;
        day = current_end + 1;
    }
    if(longest_peaceful) cout << longest_peaceful << " " << day << "\n";
    else cout << "-1\n";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base75/75
1Elfogadva0/01ms316 KiB
2Elfogadva0/039ms1568 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/41ms316 KiB
10Elfogadva4/41ms316 KiB
11Elfogadva4/43ms544 KiB
12Elfogadva4/44ms316 KiB
13Elfogadva4/42ms316 KiB
14Elfogadva4/43ms316 KiB
15Elfogadva4/44ms316 KiB
16Elfogadva4/44ms316 KiB
17Elfogadva4/44ms564 KiB
18Elfogadva4/44ms564 KiB
19Elfogadva4/434ms1572 KiB
20Elfogadva4/435ms1460 KiB
21Elfogadva4/435ms1556 KiB
22Elfogadva4/435ms1576 KiB