题目
我的代码
#include<bits/stdc++.h>
using namespace std;
int a,b,c,d;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>a>>b>>c>>d;
int m=__gcd(b,d);
a*=d/m;
c*=b/m;
a+=c;
b*=d/m;
m=__gcd(a,b);
a/=m;
b/=m;
cout<<a<<' '<<b;
return 0;
}
40分求助
第二题
我的代码
#include<bits/stdc++.h>
using namespace std;
int mumb(int t) {
int base = 1;
int dd = 1;
while (t > 9 * base * dd) {
t -= 9 * base * dd;
base *= 10;
dd++;
}
int number = base + (t - 1) / dd;
int dx = (t - 1) % dd;
stringstream ss;
ss << number;
string numberString = ss.str();
return numberString[dx] - '0';
}
vector<long long> e(int n) {
vector<long long> p(n + 1, 0);
for (int i = 1; i <= n; i++) {
p[i] = p[i - 1] + mumb(i);
}
return p;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n, q;
cin >> n >> q;
vector<long long> p = e(n);
for (int i = 0; i < q; i++) {
int type;
cin >> type;
if (type == 1) {
int x;
cin >> x;
cout << mumb(x) << " ";
} else if (type == 2) {
int x, y;
cin >> x >> y;
cout << p[y] - p[x - 1] << " ";
}
}
return 0;
}
第三题

#include<bits/stdc++.h>
using namespace std;
int maximumSum(int n, int m, int k, const vector<int>& nums)
{
vector<int> dp(n+1, 0);
dp[1] = nums[0];
for (int i = 2; i <= n; i++) {
dp[i] = max(dp[i-k] + nums[i-1], dp[i-1]);
}
return dp[n];
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n, m, k;
cin >> n >> m >> k;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
int rp;
rp++;
int ans = maximumSum(n, m, k, nums);
cout << ans << endl;
return 0;
}
求求dalao帮忙 谢谢了 急需