牛客OJ:找X

题目描述

输入一个数n,然后输入n个数值各不相同的数,再输入一个值X,输出这个值在这个数组的下标(从0开始,若不在数组中则输出-1)。

输入描述

测试数据有多组,输入n(1 <= n <= 200),接着输入n个数,然后输入x.

输出描述

对于每组输入,请输出结果

public class FindX {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] a = new int[n];
        for (int i =0; i<n; i++) {
            a[i] = sc.nextInt();
        }
        int key = sc.nextInt();
        int result = -1;
        for (int i =0; i < n; i++) {
            if (a[i] == key) {
                result = i;
                break;
            }
        }
        System.out.println(result);
    }
}

#include<iostream> using namespace std; const int MOD = 998244353; long long quickpow_mod(long long x, long long n, long long mod){ long long ans = 1; while(n){ if(n&1) ans = (ans * x) % mod; x = x * x % mod; n >>= 1; } return ans % mod; } int main(){ ios::sync_with_stdio(false); cin.tie(0); long long mod2 = quickpow_mod(2,MOD-2,MOD); long long mod4 = quickpow_mod(4,MOD-2,MOD); long long mod8 = quickpow_mod(8,MOD-2,MOD); long long t; cin>>t; while(t--){ long long atk,add,n,a,b; cin>>atk>>add>>n>>a>>b; //E=atk(\frac{a}{2}+b)+add(\frac{a(a-1)}{8}+\frac{ab}{2}+\frac{b(b-1)}{4}) //long long ATK = atk * (a * mod2 + b); long long ATK1 = a * mod2 % MOD; long long ATK2 = b % MOD; long long ATK3 = (ATK1 + ATK2) % MOD; long long ATK4 = (atk * ATK3) % MOD; //long long ADD = add * ((a * (a-1)) * mod8 + a * b * mod2 + (b * (b-1)) *mod4); //long long ADD1 = (a * (a - 1)) * mod8 % MOD; long long ADD11 = ((a - 1) % MOD + MOD) % MOD; long long ADD12 = a % MOD; long long ADD13 = ADD11 * ADD12 % MOD; long long ADD14 = ADD13 * mod8 % MOD; //long long ADD2 = (a * b * mod2) % MOD; long long ADD21 = a % MOD; long long ADD22 = b % MOD; long long ADD23 = a * b % MOD; long long ADD24 = ADD23 * mod2 % MOD; //long long ADD3 = (b * (b - 1)) * mod4 % MOD; long long ADD31 = ((b - 1) % MOD + MOD) % MOD; long long ADD32 = b % MOD; long long ADD33 = ADD31 * ADD32 % MOD; long long ADD34 = ADD33 * mod4 % MOD; //long long ADD4 = add * (ADD1 + ADD2 + ADD3) % MOD; long long ADD41 = ADD14 % MOD; long long ADD42 = ADD24 % MOD; long long ADD43 = ADD34 % MOD; long long ADD44 = (ADD41 + ADD42 + ADD43) % MOD; long long ADD45 = add * ADD44 % MOD; long long E = (ATK4 + ADD45) % MOD; cout<<E<<"\n"; } return 0; }程序什么问题
最新发布
12-01
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值