- 袁野老师 的博客
2026北京普及强化Day10比赛Code
- @ 2026-2-11 15:52:02
A
# include <bits/stdc++.h>
using namespace std;
int x,y,z;
int main() {
cin >> x >> y >> z;
if (x + y == z || x + z == y || y + z == x) cout << "true";
else cout << "false";
}
B
#include<bits/stdc++.h>
using namespace std;
int n,a[1010],ans;
long long sum;
int main(){
cin >> n;
for (int i=1; i<=n; ++i) cin >> a[i];
sort(a+1, a+n+1);
for (int i=1; i<=n; ++i) {
if (sum < a[i]) ans++, sum += a[i];
}
cout << ans;
return 0;
}
C
#include<bits/stdc++.h>
using namespace std;
int n,k,ans=1000000,d[1000010];
char s[1000010];
int main(){
cin >> n >> k;
cin >> s+1;
for (int i=1; i<=n; ++i) d[i] = d[i-1] + (s[i] == 'L');
for (int i=k; i<=n; ++i) ans = min(ans, d[i] - d[i-k]);
cout << ans;
return 0;
}
D
#include<bits/stdc++.h>
using namespace std;
int ans,n,a[20];
bool v[20];
bool check(int x) {
if (x <= 1) return false;
for (int i=2; i*i<=x; ++i) if (x%i == 0) return false;
return true;
}
void dfs(int x) {
if (x == n+1) {
ans++;
return;
}
for (int i=1; i<=n; ++i) {
if (v[i]) continue;
if (x > 1 && check(a[x-1]+i)) continue;
v[i] = 1;
a[x] = i;
dfs(x+1);
v[i] = 0;
}
}
int main(){
cin >> n;
dfs(1);
cout << ans;
return 0;
}
E
#include<bits/stdc++.h>
using namespace std;
char s[1000010];
int n,t[30];
long long ans;
int main(){
cin >> s;
n = strlen(s);
for (int i=0; i<n; ++i) {
t[s[i]-'a']++;
ans += t[s[i]-'a'];
}
cout << ans;
return 0;
}