Trị tuyệt đối lớn nhất
Submit solution
Points:
2
Time limit:
1.0s
Memory limit:
488M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Cho dãy số a1, a2, a3, ..., aN , hãy tìm hai chỉ số i và j sao cho:
• i < j
• |ai + aj| lớn nhất
Đầu vào
- Dòng đầu tiên ghi một số nguyên N (2 ≤ N ≤ 200000) - số phần tử trong dãy.
- Dòng thứ hai ghi N số nguyên a1, a2, ..., aN (|ai| ≤ 10^9).
Đầu ra
In ra số nguyên duy nhất là giá trị |ai + aj| lớn nhất tìm được.
Ví dụ 1:
Đầu vào
6
-4 3 -9 0 10 5
Đầu ra
15
Ví dụ 2:
Đầu vào
3
-2 -1 -3
Đầu ra
5
Giải thích:
• Ở ví dụ thứ nhất, hai chỉ số cần tìm là 5 và 6, |a5 + a6| = 15.
• Ở ví dụ thứ hai, hai chỉ số cần tìm là 1 và 3, |a1 + a3| = 5.
Comments
// Cho em hỏi với ạ, sao em làm thế này mà test báo lỗi ạ
include<iostream>
include<math.h>
using namespace std;
int main() { int n;cin >>n;int a[n]; for (int i=1;i<=n;i++) cin >>a[i]; int max=abs(a[1]+a[2]); for (int i=1;i<n;i++) { for (int j=i+1;j<=n;j++) { if (abs(a[i]+a[j])>max and i<j) max=abs(a[i]+a[j]); }
} cout << max; return 0; }
Ồ mình già rồi
Không hiểu sao mình không AC nhỉ???
Thầy ơi hình như chỗ n >= 4 mình so sánh (b[i] + b[j] > s) thì phải ạ