// Problem: C - Changing Jewels // Contest: AtCoder - AtCoder Beginner Contest 260 // URL: https://atcoder.jp/contests/abc260/tasks/abc260_c // Memory Limit: 1024 MB // Time Limit: 2000 ms // // Powered by CP Editor (https://cpeditor.org)
/* Name: Author: xiaruize Date: */ #include<bits/stdc++.h> usingnamespace std; #define int long long #define ull unsigned long long #define ALL(a) (a).begin(), (a).end() #define pb push_back #define mk make_pair #define pii pair<int, int> #define pis pair<int, string> #define sec second #define fir first #define sz(a) int((a).size()) #define rep(i, x, y) for (int i = x; i <= y; i++) #define repp(i, x, y) for (int i = x; i >= y; i--) #define Yes cout << "Yes" << endl #define YES cout << "YES" << endl #define No cout << "No" << endl #define NO cout << "NO" << endl #define debug(x) cerr << #x << ": " << x << endl #define double long double constint INF = 0x3f3f3f3f; constint MOD = 1000000007; constint N = 2e5 + 10;
// bool st; int n, x, y; // bool en;
intdfs(bool st, int lv) { // cerr << st << ' ' << lv << endl; if (lv == 1) { if (st) return0; else return1; } if (st) { int res = 0; res += dfs(st, lv - 1); res += x * dfs(0, lv); return res; } else { int res = 0; res += dfs(1, lv - 1); res += y * dfs(0, lv - 1); return res; } }
// Problem: E - At Least One // Contest: AtCoder - AtCoder Beginner Contest 260 // URL: https://atcoder.jp/contests/abc260/tasks/abc260_e // Memory Limit: 1024 MB // Time Limit: 2000 ms // // Powered by CP Editor (https://cpeditor.org)
/* Name: Author: xiaruize Date: */ #include<bits/stdc++.h> usingnamespace std; #define int long long #define ull unsigned long long #define ALL(a) (a).begin(), (a).end() #define pb push_back #define mk make_pair #define pii pair<int, int> #define pis pair<int, string> #define sec second #define fir first #define sz(a) int((a).size()) #define rep(i, x, y) for (int i = x; i <= y; i++) #define repp(i, x, y) for (int i = x; i >= y; i--) #define Yes cout << "Yes" << endl #define YES cout << "YES" << endl #define No cout << "No" << endl #define NO cout << "NO" << endl #define debug(x) cerr << #x << ": " << x << endl #define double long double constint INF = 0x3f3f3f3f; constint MOD = 1000000007; constint N = 2e5 + 10;
// bool st; int n, m; pii a[N]; int p[N]; int c[N]; int mi = INF; // bool en;
signedmain() { // freopen(".in","r",stdin); // freopen(".out","w",stdout); // cerr<<(&en-&st)/1024.0/1024.0<<endl; // auto t_1=chrono::high_resolution_clock::now(); cin >> n >> m; for (int i = 1; i <= n; i++) cin >> a[i].fir >> a[i].sec; int j = 0; for (int i = 1; i <= n; i++) { c[a[i].fir] = max(c[a[i].fir], a[i].sec); j = max(j, a[i].fir); mi = min(a[i].sec, mi); } for (int i = 1; i <= mi; i++) { p[j - i + 1]++; p[m - i + 2]--; j = max(j, c[i]); } int res = 0; for (int i = 1; i <= m; i++) { res += p[i]; cout << res << ' '; } // auto t_2=chrono::high_resolution_clock::now(); // cout <<". Elapsed (ms): " << chrono::duration_cast<chrono::milliseconds>(t_2 - t_1).count() << endl; return0; }