diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-03-28 01:13:58 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-03-28 01:13:58 +0100 |
commit | 486df5eebecb4803faa3bdfb840dc4f4e9b063c5 (patch) | |
tree | 4ea12f344a9e53e6a41082a19a6f1da126324961 | |
parent | 88f415f0ae4dea98c759be211e95db4c3396cf50 (diff) |
feat: coding contest 27/03/20
-rw-r--r-- | I_anno/Programmazione_2/ladri.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/I_anno/Programmazione_2/ladri.cpp b/I_anno/Programmazione_2/ladri.cpp new file mode 100644 index 0000000..04e8e65 --- /dev/null +++ b/I_anno/Programmazione_2/ladri.cpp @@ -0,0 +1,53 @@ +#include<iostream> +#include<fstream> +#include<vector> + +using namespace std; + +int main() { + ifstream in("input.txt"); + ofstream out("output.txt"); + + for(short _ = 0; _ < 100; ++_) { + int N, K, M; + in >> N >> K >> M; + int* path = new int[N+1]; + int i; + for(i = 0; i < N; ++i) + in >> path[i]; + + path[i] = M; + int start = 0; + vector<int> values; + /* 1 31 33 38 62 69 93 97 98 99 */ + /* x x x x x x + * K = 30 + */ + for(int i = 0; i < N+1; ++i) { + if(path[i] - start > K) { + for(int j = i-1; j >= 0; --j) { + if(path[i] - path[j] <= K) { + values.push_back(path[j]); + start = path[j]; + i = j; + break; + } + } + } + } + + // Stampa la path corretta per debug + for(auto const& i: values) + cout << i << ' '; + + cout << endl; + out << values.size() << endl; + delete[] path; + } + + + out.close(); + in.close(); + + return 0; +} |