一天,小明去超市购买面包。在超市里面,他一共发现了多种类型面包,它随手拿了一些面包放进购物篮里。在结账之前,他很担心自己的钱不够,于是他想计算一下购物篮中面包的总价格。小明很清楚每种面包的价格和他购买每种面包的个数,但是他计算能力不足,你可以帮他计算吗?
一天,小明去超市购买面包。在超市里面,他一共发现了多种类型面包,它随手拿了一些面包放进购物篮里。在结账之前,他很担心自己的钱不够,于是他想计算一下购物篮中面包的总价格。小明很清楚每种面包的价格和他购买每种面包的个数,但是他计算能力不足,你可以帮他计算吗?
第一行一个整数n,表示超市中面包的总类型数,1≤n≤100;
第二行n个整数,第i个数表示第i种面包的价格ai,1≤ai≤100;
第三行一个整数m,1≤m≤100
接下来m行每一行有两个整数x,y,表示第x种面包购买了y个,保证1≤x≤n,1≤y≤100
输出一个整数,表示购买面包总价格。
52 73 41 72 19 94 18 45 94 75 98 44 69 21 22 68 16 20 82 71 16 89 59 80 62 70 79 36 33 62 27 22 53 83 85 66 50 7 51 72 53 87 92 58 57 6 78 43 60 41 40 56 13 61 24 70 13 45 39 10 41 30 52 70 31 21 50 41 14 35 30 12 47 79 1 18 38 15 10 77 49 28 38 22 35 56 19 83 28 96 22 50 8 7 17 69 33 40 41 32 25 39 16 47 12 79 25 24 10 46 42 75 39 5 6 93 35 30 9 74 21 76 21 93 47 65 18 17 8 38 4 48 52 34 31 39 11 27 36 50 45 54 46 30 9 45 27 60 9 4 4 18 45 75 14 48 1 45 35 64 24 26 45 1 30 40 8 10 49 8 30 35 52 24 38 15
135993
#include<iostream> using namespace std; int main(){ int n,m; cin>>n; int* price=new int[n]; for(int i=0;i<n;i++) cin>>price[i]; cin>>m; int x,y,total=0; for(int i=0;i<m;i++){ cin>>x>>y; total+=price[x-1]*y; } cout<<total<<endl; }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] prices = new int[n]; for(int i = 0;i<n;i++){ prices[i] = sc.nextInt(); } int m = sc.nextInt(); int sum =0; for(int i=0;i<m;i++){ int a = sc.nextInt(); int b = sc.nextInt(); sum = sum + prices[a-1]*b; } System.out.println(sum); } }
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; //n种面包 int a[n+1]; for(int i = 1; i <= n; i++) { cin >> a[i]; //第i种面包的价格为ai } int m; cin >> m; int sum = 0; //总价格 for(int i = 0; i < m; i++) { int x,y; //第x种面包购买了y个 cin >> x >> y; sum += a[x]*y; } cout << sum << endl; return 0; }
这道题目有问题,第三行一个整数m,1≤m≤100
这个整数m却是第二行输入的最后一个数字。
这样写通不过:
_, prices, total_price = input(), list(map(int, input().split())), 0
for _ in range(int(input())):
index, cnt = map(int, input().split())
total_price += cnt * prices[index - 1]
print(total_price)
改成这样才行:
_, prices, total_price = input(), list(map(int, input().split())), 0
for _ in range(prices[-1]):
index, cnt = map(int, input().split())
total_price += cnt * prices[index - 1]
print(total_price)
希望能修复一下这个问题,不然太坑。
另外小明是走私面包吗?一次买13万吃一年也吃不完啊
n=int(input()) v=list(map(int,input().split())) m=v[-1] s=0 for i in range(m): w=list(map(int,input().split())) s+=v[w[0]-1]*w[1] print(s)
#include<iostream> using namespace std; int main() { int n,price[100],m,x,y,sum=0; cin>>n; for(int i=0;i<n;++i) cin>>price[i]; cin>>m; for(int i=0;i<m;++i) { cin>>x>>y; sum+=price[x-1]*y; } cout<<sum<<endl; return 0; }
#include<iostream> using namespace std; int main() { int n; cin >> n; int* a = new int[n](); for (int ni = 0; ni < n; ni++) cin >> a[ni]; int m; cin >> m; int* y = new int[n](); int x,temp; for (int mi = 0; mi < m; mi++) { cin >> x >> temp; y[x-1] = y[x-1] + temp; } int r = 0; for (int i = 0; i < n; i++) r += a[i]*y[i]; cout << r; delete []a; delete []y; return 0; }
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] price = new int[n]; String[] str = br.readLine().split(" "); for (int i = 0; i < n; i++) { price[i] = Integer.parseInt(str[i]); } int m = Integer.parseInt(br.readLine()); int cost = 0; for (int i = 0; i < m; i++) { str = br.readLine().split(" "); int x = Integer.parseInt(str[0]), y = Integer.parseInt(str[1]); cost += price[x - 1] * y; } System.out.println(cost); } }
import java.util.Scanner; /** * @author wylu */ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] a = new int[n]; for (int i = 0; i < n; i++) { a[i] = scanner.nextInt(); } int m = scanner.nextInt(); int res = 0; for (int i = 0; i < m; i++) { int x = scanner.nextInt(), y = scanner.nextInt(); res += a[x - 1] * y; } System.out.println(res); } }