diff options
Diffstat (limited to 'I_anno/Programmazione_2/coding_contest/tastevin_paths.cpp')
-rw-r--r-- | I_anno/Programmazione_2/coding_contest/tastevin_paths.cpp | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/I_anno/Programmazione_2/coding_contest/tastevin_paths.cpp b/I_anno/Programmazione_2/coding_contest/tastevin_paths.cpp deleted file mode 100644 index eb7da54..0000000 --- a/I_anno/Programmazione_2/coding_contest/tastevin_paths.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// It prints all possible paths - -#include<iostream> -#include<fstream> -#include<vector> - -using namespace std; - -int main() { - ifstream in("input.txt"); - ofstream out("output.txt"); - - for(int ts = 0; ts < 100; ++ts) { - int N; - in >> N; - vector<int> arr; - int e; - for(int i = 0; i < N; ++i) { - in >> e; - arr.push_back(e); - } - - int max_value{}; - int value; - - for(int i = 0; i < N; ++i) { - vector<int> tmp; - tmp.push_back(i); - value = arr[i]; - for(int j = i+2; j < N; ++j) { - if(arr[j] >= value) { - tmp.push_back(j); - value = arr[j]; - ++j; - } - } - while(!tmp.empty()) { - if(tmp.size() > max_value) { - for(auto const&i : tmp) { - cout << i << ' '; - } - cout << endl; - max_value = tmp.size(); - } - int k = tmp.back(); - tmp.pop_back(); - if(tmp.size() > 0) - value = arr[tmp.back()]; - else - value = arr[k]; - for(int j = k+1; j < N; ++j) { - if(arr[j] >= value) { - value = arr[j]; - tmp.push_back(j); - ++j; - } - } - } - } - - out << max_value << '\n'; - } - - in.close(); - out.close(); - return 0; -} |