Cod sursa(job #3297905)

Utilizator wiki__Andrei Alecu izsak wiki__ Data 24 mai 2025 11:32:12
Problema Hotel Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <vector>
#include <fstream>
#include <climits>
#include <algorithm>
typedef long long ll;

std::ifstream cin("hotel.in");
std::ofstream cout("hotel.out");

const int NMAX = 100005;
int v[NMAX],m[NMAX];

signed main() {
    int n,p;
    cin>>n>>p;

    for (int i=1; i<=p; i++) {
        int c;
        cin>>c;
        if (c == 1) {
            int st,dr;
            cin>>st>>dr;
            dr += st - 1;

            m[st]++;
            m[dr+1]--;
        }
        if (c == 2) {
            int st,dr;
            cin>>st>>dr;
            dr += st - 1;

            m[st]--;
            m[dr+1]++;
        }
        if (c == 3) {

            int sum = 0;
            int Max = -1;
            int cnt = 0;
            for (int i=1; i<=n; i++) {
                sum += m[i];
                v[i] = (sum > 0);

                //std::cout<<v[i]<<" ";

                if (v[i] == 1) {
                    Max = std::max(Max,cnt);
                    cnt = 0;
                }
                else {
                    cnt++;
                }
            }
            Max = std::max(Max,cnt);

            cout<<Max<<"\n";

        }
    }
}