Оптимизация и ускорение обработки кода до <=1 сек (на тестовый случай)
любая помощь в оптимизации следующего кода, чтобы он работал быстрее.
#include <iostream> #include <vector> #include <algorithm> using namespace std; class gfg { public: bool satisfiable(std::vector<int> a, std::vector<int> b) { while (!a.empty()) { std::sort(b.begin(), b.end(), std::greater<int>()); int k = a.back(); a.pop_back(); if (k > b.size()) return false; if (k == 0) continue; if (b[k - 1] == 0) return false; for (int i = 0; i < k; i++) b[i]--; } for (std::vector<int>::iterator i = b.begin(); i != b.end(); i++) if (*i != 0) return false; return true; } }; int main() { gfg g; ios_base::sync_with_stdio(false); cin.tie(NULL); int r,c,n,cnt=0; cin >> n; while(cnt<n){ cnt++; cin >> r >> c; int x; vector<int> a; vector<int> b; for(int i=0;i<r;i++){ cin >> x; a.push_back(x); } for(int j=0;j<c;j++){ cin >> x; b.push_back(x); } if(g.satisfiable(a,b)) cout << "YES\n"; else cout << "NO\n"; } return 0; }
Ожидаемое : среднее время обработки 1С или меньше на тестовый случай фактическое : среднее время обработки от 2С до 2,5 С на тестовый случай
Что я уже пробовал:
Tried making function inline, tried cin.TIE(NULL), tried ios_base::sync_with_stdio(false);
Patrice T
Что же должен делать код ?
Дайте ссылку на вызов