#include <iostream>
#include <vector>
#include <numeric>
#include <iterator>
using namespace std;
int main()
{
int N;
cin>>N;
long long int x,sum=0;
std::vector<long long int> v;
for(int i=0;i<N;i++)
{
cin>>x;
v.push_back(x);
}
/*vector<long long int>::iterator itr;
itr = v.begin();
for(itr=v.begin();itr<v.end();itr++)
sum += *itr;*/
sum = accumulate(v.begin(),v.end(),0);
cout<<sum;
return 0;
}
我的程序正在使用accumulate返回抽象值,但是如果我使用for循環,則答案即將到來。包含使用累積long long int的向量的求和
@ tobi303:這聽起來像一個答案。 (實際上,它*是答案,OP已經實例化了std :: accumulate long long int> :: iterator,int>') –
@MartinBonner我只是不確定,但完全同意,它不應該是一個評論... – user463035818
'std :: accumulate'具有初始值的單獨模板參數。沒有限制,它必須是與元素相同的類型。使用'int'唯一可能的問題就是溢出,真的。 – chris