数的变换一题一直显示段错误

#include<bits/stdc++.h>
using namespace std;

typedef long long LL;
LL num[50005] = {0};
const LL maxn = 1e9 + 7;

LL search(LL x, LL n)
{
        LL k;
        for(int i = i; i <= n; i++)
        {
                if(num[i] == x)
                {
                        k = i;
                        break;
                }
        }
        return k;
}

LL C(LL n, LL m)
{
        LL ans = 1;
        for(LL i = 1; i <= m; i++)
        {
                ans = ans * (n - m + i) / i;
        }
        return ans;
}

LL Lucas(LL k, LL x)
{
        if(x == 0 || k == x) return 1;
        return C(k % maxn, x % maxn) * Lucas(k / maxn, x / maxn) % maxn;
}
int main()
{
        LL T, n, q, x, k, h;
        cin >> T;
        while(T --)
        {
                memset(num, 0, sizeof(num));
                cin >> n >> q;
                for(int i = 1; i <= n; i++)
                {
                        cin >> h;
                        num[i] = h;
                }
                for(int i = 1; i <= q; i++)
                {
                        cin >> x >> k;
                        LL gx = search(x, n);
                        LL fx = (Lucas(k, gx) % n + 1);
                        cout << num[fx] << endl;
                }
                cin >> T;
        }
        return 0;
}
请问我这个为什么一直显示段错误?
全部评论

相关推荐

码农索隆:卡学历都不行了,开始卡颜值了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-15 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
26届校招投递进展
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务