Hai bạn học sinh trong lúc nhàn rỗi nghĩ ra trò chơi sau đây. Mỗi bạn
chọn trước một dãy số gồm
còn dãy số mà bạn thứ hai chọn là:
Mỗi lượt chơi mỗi bạn đưa ra một số hạng trong dãy số của mình. Nếu bạn
thứ nhất đưa ra số hạng
Ví dụ: Giả sử dãy số bạn thứ nhất chọn là 1, -2; còn dãy số mà bạn thứ hai chọn là 2, 3. Khi đó các khả năng có thể của một lượt chơi là (1, 2), (1, 3), (-2, 2), (-2, 3). Như vậy, giá nhỏ nhất của một lượt chơi trong số các lượt chơi có thể là 0 tương ứng với giá của lượt chơi (-2, 2).
Hãy xác định giá nhỏ nhất của một lượt chơi trong số các lượt chơi có thể.
Input
- Dòng đầu tiên chứa số nguyên dương
- Dòng thứ hai chứa dãy số nguyên
- Dòng thứ ba chứa dãy số nguyên
Hai số liên tiếp trên một dòng được ghi cách nhau bởi dấu cách.
Output
Ghi ra giá nhỏ nhất tìm được.
Giới hạn
- 60% số tests ứng với 60% số điểm của bài có
.
Sample Input
2
1 -2
2 3
Sample Output
0
Bình luận
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
include <bits/stdc++.h>
using namespace std;
define ll long long
ll cs10[18]; ll f[18]; int len(ll x) { int ans = 0; while (x) { ans++; x = x / 10; } return ans; } ll cut(ll x) { int l = len(x); for(int i = 1; i<= l/2; i++) x = x/10; return x; } ll dx(int l, ll x) { int ld = len(x), cuoi=x; while(ld> l/2) { cuoi = cuoi/10; ld--; } while(cuoi) { x = x * 10 + cuoi %10; cuoi= cuoi/10; } return x; } int main() { f[1]=9; f[2]=9; cs10[0]=1; cs10[1]=10; for(int i =2; i <= 18; i++) { f[i] =f[i-2]10; cs10[i] = cs10[i-1]10; } ll x = 123456789; ll l = len(x); ll ans =0; for(int i = 1; i <=n-1; i++) ans = ans+f[i]; ll dau = cut(x), cuoi = dau; ll dxx = dx(l, x); if(dxx <= x) ans = ans + (dau - cs10[len(dau)]+1); else ans = ans + (dau - cs10[len(dau)]) cout << ans; return 0; }
Hướng giải của mình thì các bạn sort thằng a sau đó với mỗi b tìm tổng nhỏ nhất bằng lower_bound. Mình chỉ gợi ý thế thôi mn tham khảo.
Đây là hướng giải của mình bằng c++,thấy hay cho xin ^ nha:
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.