Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <algorithm>
- #define MAXN 100010
- using namespace std;
- int prefiks[MAXN];
- int szukanie(int a, int b)
- {
- //int spr = 1;
- int p = 0;
- int k = b;
- while(p != k)
- {
- spr++;
- if(a < prefiks[(p + k) / 2])
- {
- k = (p + k) / 2 - 1;
- //spr--;
- }
- if(a > prefiks[(p + k) / 2])
- {
- p = (p + k) / 2 + 1;
- // spr--;
- }
- if(a == prefiks[(p + k) / 2])
- {
- printf("TAK\n");
- return 0;
- }
- /*if(k == p + 1 && spr == 2)
- {
- printf("NIE\n");
- return 0;
- }*/
- }
- printf("TAK\n");
- return 0;
- }
- int main()
- {
- int n, k, a, c;
- int b = 0;
- scanf("%d",&n);
- for(int i = 0; i < n; i++)
- {
- scanf("%d",&k);
- prefiks[i + 1] = prefiks[i] + k;
- }
- c = n + 1;
- sort(prefiks, prefiks + c);
- scanf("%d",&a);
- for(int i = 0; i < a; i++)
- {
- scanf("%d",&k);
- szukanie(k, n + 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement