summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--I_anno/Programmazione_2/gita.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/I_anno/Programmazione_2/gita.cpp b/I_anno/Programmazione_2/gita.cpp
new file mode 100644
index 0000000..cbb4910
--- /dev/null
+++ b/I_anno/Programmazione_2/gita.cpp
@@ -0,0 +1,46 @@
+#include<iostream>
+#include<fstream>
+#include<vector>
+#include<map>
+
+using namespace std;
+
+int main() {
+ ifstream in("input.txt");
+ ofstream out("output.txt");
+
+ for(int c = 0; c < 100; ++c) {
+ int N, L;
+ in >> N >> L;
+ vector<pair<short, int>> students;
+ for(int i = 0; i < N; ++i) {
+ int num;
+ in >> num;
+ students.push_back({num, 0});
+ }
+
+ int index, val;
+ for(int i = 0; i < L; ++i) {
+ in >> index >> val;
+ students[index].second += val;
+ }
+
+ vector<pair<short, int>> errors;
+ short _j{};
+ for(auto const& i : students) {
+ if(i.second < i.first) {
+ errors.push_back({_j, i.first-i.second});
+ }
+ _j++;
+ }
+
+ out << errors.size() << ' ';
+ for(auto const& i : errors) {
+ out << i.first << ' ' << i.second << ' ';
+ }
+ out << endl;
+ }
+ out.close();
+ in.close();
+ return 0;
+}