Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- #define debug(name) db (#name, (name))
- template<typename T>
- void db(string name, T value) {
- cout << "\t" << "[ " << name << " ] =" << " " << value << endl;
- }
- int main(){
- int cases;
- cin >> cases;
- Loop: while(cases--){
- int n;
- cin >> n;
- vector<int> cows;
- unsigned long long sum = 0;
- for (int i = 0; i < n; i++) {
- int cow;
- cin >> cow;
- cows.push_back(cow);
- sum+= cow;
- }
- int ans = n;
- if(sum % 7 == 0){
- cout << ans << endl;
- break;
- }
- //debug(ans);
- int range = n - 1;
- for(int i = range; i>=0; i--){
- int leftBound = 0;
- int rightBound = i;
- sum -= cows[rightBound];
- ans -= 1;
- // debug(sum);
- // debug(sum%7);
- bool isFound = false;
- if(i == 0){
- for(int k = 0; k < n; k++){
- if(cows[k] % 7 == 0){
- cout << "1" << endl;
- isFound= true;
- break;
- }
- }
- }
- for(; rightBound < n; rightBound++,leftBound++){
- if(sum % 7 == 0){
- // break
- cout << ans << endl;
- cows.clear();
- // cout << "GOTO LOOP" << endl;
- // debug(ans);
- goto Loop;
- }else{
- sum -= cows[leftBound];
- sum += cows[rightBound];
- // debug(leftBound);
- // debug(rightBound);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement