intmain(){ int a, b, c, d; cin >> a >> b >> c >> d; cout << max(a * b, c * d) << "\n";
return0; }
B
小模拟,遇到 I 加一,遇到 D 减一,每次取个
max 即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include<iostream> usingnamespace std;
intmain(){ int n; string s; cin >> n >> s; int ans = 0, tmp = 0; for (int i = 0; i < n; i++) { if (s[i] == 'I') tmp++; else tmp--; ans = max(tmp, ans); } cout << ans << "\n";
boolis_prime(int n) { if (n == 1) returnfalse; for (int i = 2; i * i <= n; i++) { if (n % i == 0) returnfalse; } returntrue; }
vector<int> p;
intmain() { int n; cin >> n; ll ans = 1; // 筛素数 for (int i = 1; i <= n; i++) { if (is_prime(i)) p.push_back(i); } // 唯一分解定理 for (auto v : p) { ll cnt = 0; for (int i = 1; i <= n; i++) { int tmp = i; while (tmp % v == 0) { cnt++; tmp /= v; } } cnt++; ans = ans * cnt % mod; } cout << ans << "\n";
boolis_prime(int n) { if (n == 1) returnfalse; for (int i = 2; i * i <= n; i++) { if (n % i == 0) returnfalse; } returntrue; }
vector<int> p;
intmain() { longlong n, a, b, sum = 0; cin >> n >> a >> b; longlong x[1000001]; for (int i = 1; i <= n; i++) cin >> x[i]; for (int i = 2; i <= n; i++) sum += min(b, a * (x[i] - x[i - 1])); cout << sum; return0; }