summaryrefslogtreecommitdiff
path: root/1_anno/Programmazione_2/coding_contest/gribaudo.cpp
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2020-10-18 18:56:43 +0200
committerSanto Cariotti <dcariotti24@gmail.com>2020-10-20 09:08:52 +0200
commitf279107065146a4940f5e73602a1c3c09e58b31d (patch)
treefd892749637a8b6c5c31ccb80bba04ade76ab87a /1_anno/Programmazione_2/coding_contest/gribaudo.cpp
parent4e063e32250312c38d5646840719b62429362b21 (diff)
chore: name of first year folder
Diffstat (limited to '1_anno/Programmazione_2/coding_contest/gribaudo.cpp')
-rw-r--r--1_anno/Programmazione_2/coding_contest/gribaudo.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/1_anno/Programmazione_2/coding_contest/gribaudo.cpp b/1_anno/Programmazione_2/coding_contest/gribaudo.cpp
new file mode 100644
index 0000000..39d0e42
--- /dev/null
+++ b/1_anno/Programmazione_2/coding_contest/gribaudo.cpp
@@ -0,0 +1,47 @@
+#include<iostream>
+#include<vector>
+#include<fstream>
+
+using namespace std;
+
+int maxpath(vector<vector<int>>& v) {
+ for(int i = v.size()-2; i >= 0; --i) {
+ for(int j = 0; j <= i; ++j) {
+ if(v[i+1][j] > v[i+1][j+1]) {
+ v[i][j] += v[i+1][j];
+ } else {
+ v[i][j] += v[i+1][j+1];
+ }
+ }
+ }
+
+ return v[0][0];
+}
+
+int main() {
+ ifstream in("input.txt");
+ ofstream out("output.txt");
+
+ for(int ts = 0; ts < 1; ++ts) {
+ int N;
+ in >> N;
+ vector<vector<int>> triangle;
+
+ for(int i = 0; i < N; ++i) {
+ int e;
+ triangle.push_back(vector<int>{});
+ int j;
+ for(j = 0; j <= i; ++j) {
+ in >> e;
+ triangle[i].push_back(e);
+ }
+ for(; j < N; ++j)
+ triangle[i].push_back(0);
+ }
+ out << maxpath(triangle) << endl;
+ }
+
+ in.close();
+ out.close();
+ return 0;
+}