Разбор
Давайте рассмотрим $$$2$$$ случая.
- $$$x >= y$$$ можно заметить, что каждую секунду блендер будет смешивать $$$/min(y, c)$$$ фруктов (где $$$c$$$ это количество не смешанных фруктов), следовательно ответ $$$\lceil {\frac{n}{y}} \rceil$$$.
- $$$x < y$$$ можно заметить что каждую секунду блендер будет смешивать $$$/min(x, c)$$$ фруктов, ответ $$$\lceil {\frac{n}{x}} \rceil$$$ аналогично.
Значит ответ это $$$\lceil {\frac{n}{min(x, y)}} \rceil$$$.
Решение
#include <iostream>
using namespace std;
int main(){
int t = 1;
cin >> t;
while(t--){
int n, x, y;
cin >> n >> x >> y;
x = min(x, y);
cout << (n + x - 1) / x << endl;
}
}
Разбор
Решение
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
void solve(){
int n;
cin >> n;
ll ans = 0;
vector<int> a(n);
for(int i=0;i<n;i++){
cin >> a[i];
ans += a[i];
}
cout << ans - 2 * a[n - 2] << '\n';
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin >> t;
while(t--){
solve();
}
}
Разбор
Решение
#include <iostream>
#include <vector>
#include <string>
#include <array>
using namespace std;
bool ask(string t) {
cout << "? " << t << endl;
int res;
cin >> res;
return res;
}
void result(string s) {
cout << "! " << s << endl;
}
void solve() {
int n;
cin >> n;
string cur;
while (cur.size() < n) {
if (ask(cur + "0")) {
cur += "0";
} else if (ask(cur + "1")) {
cur += "1";
} else {
break;
}
}
while ((int) cur.size() < n) {
if (ask("0" + cur)) {
cur = "0" + cur;
} else{
cur = "1" + cur;
}
}
result(cur);
}
int main() {
int t;
cin >> t;
while (t--)
solve();
}
Разбор