代码
2026-10-05 15:28:34
发布于:广东
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 2e5 + 10;
ll n, m, a[N], sum, cnt = 1, ans, d[N];
bool check(ll x) {
ll zjy = 0, gfy = 0, hzt = 0;
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++) {
//😂😊😂😂😂😂😊😊;
if (zjy <= m) zjy += abs(a[i] - x), gfy++;
else hzt = max(hzt, gfy), zjy = 0;
}
}
if (hzt >= x) return true;
return false;
}
int main() {
freopen("Degree.in","r",stdin);
freopen("Degree.out","w",stdout);
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
sort(a + 1, a + n + 1);
if (m == 0) {
for (int i = 1; i <= n; i++) {
if (a[i] == a[i - 1]) cnt++, sum = max(sum, cnt);
else sum = max(sum, cnt), cnt = 1;
}
cout << sum << '\n';
return 0;
}
ll l = 0, r = n + 1;
while (l <= r) {
ll mid = (l + r) / 2;
if (check(mid)) ans = mid, l = mid + 1;
else r = mid - 1;
}
cout << (ans >> 1) << endl;
fclose(stdin);
fclose(stdout);
return 0;
}
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 3e2 + 10;
const int ZJY = 10e9 + 7;
ll n, m, ans;
char a[N][N];
int main() {
freopen("Parentheses.in","r",stdin);
freopen("Parentheses.out","w",stdout);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> a[i][j];
}
}
if (n == 1 || m == 1) {
ll f = 0, sum = 0, p = 0;
if (n == 1) {
for (int j = 1; j <= m; j++) {
if (a[1][j] == '(' && sum >= 0) sum++, p++;
else if (a[1][j] == ')' && sum >= 1) sum--, p++;
else f = 1, p++;
}
}
else {
for (int i = 1; i <= n; i++) {
if (a[i][1] == '(' && sum >= 0) sum++;
else if (a[i][1] == ')' && sum >= 1) sum--;
else f = 1;
}
}
if (f == 1 || p % 2) cout << "0" << endl;
else cout << "1" << endl;
return 0;
}
ll f = 0, sum = 0, p = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (a[i][j] == '(' && sum >= 0) sum++, p++;
else if (a[i][j] == ')' && sum >= 1) sum--, ans++, p++;
else f = 1, p++;
}
}
if (f == 0 || p % 2) cout << ans % ZJY << '\n';
else cout << "0" << '\n';
fclose(stdin);
fclose(stdout);
return 0;
}
这里空空如也















有帮助,赞一个