#4713
sir2dif
Se consideră un sir de numere naturale a
1
, a
2
, …, a
n
. Să se determine suma maximă a unei expresii a
i
- a
j
+ a
k
- a
p
, unde 1 ≤ i < j < k < p ≤ n
.
XOR 2015
Problema | sir2dif | Operații I/O |
sir2dif.in /sir2dif.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
Id soluție | #55041240 | Utilizator | |
Fișier | sir2dif.cpp | Dimensiune | 890 B |
Data încărcării | 17 Decembrie 2024, 23:26 | Scor / rezultat | Eroare de compilare |
sir2dif.cpp:1:46: warning: multi-character character constant [-Wmultichar] def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:86: warning: multi-character character constant [-Wmultichar] def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:126: warning: multi-character character constant [-Wmultichar] def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:154: warning: multi-character character constant [-Wmultichar] def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:545: error: stray '#' in program def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:1: error: stray '\310' in program def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:1: error: stray '\231' in program sir2dif.cpp:1:598: warning: character constant too long for its type [enabled by default] def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:711: error: stray '#' in program def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:772: error: stray '#' in program def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:1: error: stray '\303' in program def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:1: error: stray '\256' in program sir2dif.cpp:1:1: error: stray '\310' in program sir2dif.cpp:1:1: error: stray '\231' in program sir2dif.cpp:1:1: error: stray '\310' in program sir2dif.cpp:1:1: error: stray '\231' in program sir2dif.cpp:1:831: warning: character constant too long for its type [enabled by default] def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^ sir2dif.cpp:1:1: error: 'def' does not name a type def max_expression_sum(n, a): max_a = [float('-inf')] * n max_a_k_minus_a_p = [float('-inf')] * n max_a_i_minus_a_j = [float('-inf')] * n result = float('-inf') for i in range(n - 4, -1, -1): max_a[i] = max(max_a[i + 1], a[i]) for k in range(n - 3, -1, -1): max_a_k_minus_a_p[k] = max(max_a_k_minus_a_p[k + 1], max_a[k + 1] - a[k + 1]) for j in range(n - 2, -1, -1): max_a_i_minus_a_j[j] = max(max_a_i_minus_a_j[j + 1], a[j + 1] + max_a_k_minus_a_p[j + 1]) for i in range(n - 1): result = max(result, max_a_i_minus_a_j[i] - a[i]) return result # Citirea datelor din fișierul de intrare with open('sir2dif.in', 'r') as file: n = int(file.readline().strip()) a = list(map(int, file.readline().strip().split())) # Calcularea sumei maxime max_sum = max_expression_sum(n, a) # Scrierea rezultatului în fișierul de ieșire with open('sir2dif.out', 'w') as file: file.write(str(max_sum) + '\n') ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema sir2dif face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.