网易测试岗笔试第三题
#include<iostream>
#include<vector>
#include<set>
#include<iterator>
using namespace std;
struct com {
int all;
int number;
com(int a1, int a2) {
all = a1;
number = a2;
}
bool operator<(const com&ss)const {
return all < ss.all;
}
};
int main() {
vector<int>storage;
vector<int>check;
vector<int>out;
int all = 0;
cin >> all;
int temp;
for (int i = 0;i<all;i++) {
cin >> temp;
storage.push_back(temp);
}
all = 0;
cin >> all;
for (int i = 0;i<all;i++) {
cin >> temp;
check.push_back(temp);
}
//求和存储
int total = 0;
set<com>cc;
int huang = 1;
for (int i = 0;i<storage.size();i++) {
total = 0;
for (int j = 0;j <= i;j++) {
total += storage[j];
}
cc.insert(com(total, huang));
huang++;
}
//check输出
for (int i = 0;i<check.size();i++) {
com ss(check[i],0);
set<com>::iterator it = cc.lower_bound(ss);
out.push_back((*it).number);
}
//输出
for (int i = 0;i<out.size();i++) {
cout << out[i] << endl;
}
}
#网易##测试#
#include<vector>
#include<set>
#include<iterator>
using namespace std;
struct com {
int all;
int number;
com(int a1, int a2) {
all = a1;
number = a2;
}
bool operator<(const com&ss)const {
return all < ss.all;
}
};
int main() {
vector<int>storage;
vector<int>check;
vector<int>out;
int all = 0;
cin >> all;
int temp;
for (int i = 0;i<all;i++) {
cin >> temp;
storage.push_back(temp);
}
all = 0;
cin >> all;
for (int i = 0;i<all;i++) {
cin >> temp;
check.push_back(temp);
}
//求和存储
int total = 0;
set<com>cc;
int huang = 1;
for (int i = 0;i<storage.size();i++) {
total = 0;
for (int j = 0;j <= i;j++) {
total += storage[j];
}
cc.insert(com(total, huang));
huang++;
}
//check输出
for (int i = 0;i<check.size();i++) {
com ss(check[i],0);
set<com>::iterator it = cc.lower_bound(ss);
out.push_back((*it).number);
}
//输出
for (int i = 0;i<out.size();i++) {
cout << out[i] << endl;
}
}
#网易##测试#