damihenrique

Untitled

Jan 27th, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <cstring>
  5. #include <vector>
  6. #include <algorithm>
  7. #include <utility>
  8. #include <queue>
  9. #include <set>
  10. #include <stack>
  11. #include <cmath>
  12. #include <map>
  13.  
  14. #define INF 99999999
  15. #define rep(i, a, b) for (int i = int(a); i < int(b); i++)
  16. #define tr(c, it) for ( typeof(c.begin()) it = (c).begin();  it != (c).end(); it++)
  17. #define pb push_back
  18.  
  19. using namespace std;
  20.  
  21. typedef pair < int, int >  ii;
  22. typedef vector < int >  vi;
  23. typedef vector < ii >  vii;
  24.  
  25.  
  26. map <int , int> mp, msoma;
  27. int soma;
  28. int v[1050000];
  29.  
  30. int busca(int ini, int fim , int x)
  31. {
  32.     if (ini>fim) return 0;
  33.     int me = (ini+fim)/2;
  34.     if (v[me] == x) return me;
  35.     else if (v[me] < x) return busca(me+1,fim,x);
  36.     else return busca(ini,me-1,x);
  37.     return 0;
  38. }
  39.  
  40. int main(){
  41.    
  42.     int casos, n, num;
  43.    
  44.     scanf("%d",&casos);
  45.                  
  46.         while(casos -- ){    
  47.                            
  48.             scanf("%d",&n);
  49.            
  50.             soma = 0;
  51.             v[0] = 0;
  52.            
  53.             rep(i,1,n+1){    
  54.                 scanf("%d",&num);
  55.                 v[i] = soma+num;                
  56.                 soma+=num;                                        
  57.             }  
  58.            
  59.             int i, j, cont = 0;
  60.            
  61.             for(i = 0 ; i <= n ; i++){                                
  62.                  j = busca(0, n, v[i]+42);
  63.                  if(j) {
  64.                     cont++;
  65.                     i = j-1;                              
  66.                  }  
  67.             }
  68.             printf("%d\n",cont);        
  69.         }  
  70.    return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment