A
#include <iostream>
#include <cmath>
using namespace std;
int main() {
long long n, k, sum = 0;
cin >> n >> k;
for(int i = 1; i <= n; i++) {
string s;
cin >> s;
long long num = 0;
for(int j = s.size() - 1; j >= 0; j--) {
if(s[j] >= '0' && s[j] <= '9') num += (s[j] - '0') * pow(k, s.size() - j - 1);
else num += (s[j] - 'A' + 10) * pow(k, s.size() - j - 1);
}
sum += num;
}
string ans;
while(sum != 0) {
if(sum % k >= 10) ans = ans + char('A' + sum % k - 10);
else ans = ans + char(sum % k + '0');
sum /= k;
}
for(int i = ans.size() - 1; i >= 0; i--) cout << ans[i];
return 0;
}
B
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double a, b, c, d;
cin >> a >> b >> c >> d;
cout << fixed << setprecision(3) << b + (d - b) / (a + c) * a << endl;
return 0;
}
C
#include <iostream>
#include <algorithm>
using namespace std;
const int mod = 1e9 + 7;
int a[500005], b[500005], s[500005];
int main() {
int n, m, sum = 0;
cin >> n >> m;
for(int i = 1; i <= n; i++) cin >> a[i];
sort(a + 1, a + n + 1);
for(int i = 1; i <= n; i++) s[i] = s[i - 1] + a[i];
for(int i = 1; i <= m; i++) {
cin >> b[i];
int pos = upper_bound(a + 1, a + n + 1, b[i]) - a - 1;
sum = (sum + pos * b[i] + s[n] - s[pos]) % mod;
}
cout << sum << endl;
return 0;
}
D
#include <iostream>
using namespace std;
const int mod = 1e9 + 7;
string s;
int p, f[1000005][105];
int main() {
cin >> s >> p;
f[0][0] = 1;
for(int i = 0; i < s.size(); i++) {
if(s[i] == '?') {
for(int j = 0; j < p; j++) {
for(int k = 0; k <= 9; k++) f[i + 1][(j * 10 + k) % p] += f[i][j];
}
}
else {
for(int j = 0; j < p; j++) f[i + 1][(j * 10 + s[i] - '0') % p] += f[i][j];
}
for(int j = 0; j < p; j++) f[i + 1][j] %= mod;
}
cout << f[s.size()][0] << endl;
return 0;
}
E
#include <iostream>
using namespace std;
int board[6005][6005];
int main() {
int n;
cin >> n;
board[1][1] = 1;
for(int i = 2; i <= 6000; i++) {
board[i][1] = board[i][i] = 1;
for(int j = 2; j < i; j++) {
board[i][j] = (board[i - 1][j] + board[i - 1][j - 1]) % 2;
}
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n - i; j++) cout << ' ';
cout << 'x';
for(int j = 2; j <= i; j++) {
cout << ' ';
if(board[i][j]) cout << 'x';
else cout << ' ';
}
cout << endl;
}
return 0;
}