accumulate函数怎么配合结构体使用?

问题遇到的现象和发生背景:

accumulate函数怎么配合结构体使用?

题目链接:

用代码块功能插入代码,请勿粘贴截图
#include<bits/stdc++.h>
using namespace std;

struct node
{
    int k,b,s;
}q[3009];

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n;
    if(n==1)
    {
        cin>>q[1].b>>q[1].k;
        q[1].s=q[1].b+q[1].k-8;
         cout<<q[1].s;
    }
    else
    {
        int    ans=0;
        cin>>q[1].b>>q[1].k;
        q[1].s=q[1].b+q[1].k-8;
        for(int i=2; i<=n; i++)
        {
            cin>>q[i].b>>q[i].k;
            q[i].s=q[i-1].s+q[i].b+q[i].k-8;
        }
        ans=accumulate(q,q+n,0);//就是这里!请问怎么把q[1].s~q[n].s累加起来?
        cout<<ans;
     }
    return 0;
}

谢谢~