
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ioimprove(); ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define FILE(x); freopen(x".in","r",stdin);freopen(x".out","w",stdout);
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
int n,a[514514],m,sum[514514];
inline char qgetchar()
{
static char buf[1 << 14], *begin = buf, *end = buf;
if(begin == end)
{
begin = buf;
end = buf + fread(buf,1,1 << 14,stdin);
}
return *begin++;
}
inline int qread()
{
int f = 1,x = 0;char op;
do
{
op = qgetchar();
if(op == '-')f = -1;
}
while(op < '0' || op > '9');
do
{
x = x * 10 + op - '0';
op = qgetchar();
}
while(op >= '0' && op <= '9');
return f * x;
}
signed main()
{
ioimprove();
//FILE("seq");
n = qread();m = qread();
for(int i = 1;i <= n;i++) a[i] = qread(),sum[i] = sum[i - 1] + a[i];
for(int bbj = 1,l,r,p;bbj <= m;bbj++)
{
l = qread();r = qread();p = qread();
if(r - l >= p)
{
cout<<"0\n";
continue;
}
int minn = p;
for(int len = 1;len <= r - l + 1;len++)
{
for(int i = l;i + len - 1 <= r;i++)
{
int j = i + len - 1;
minn = min(minn,(sum[j] - sum[i - 1]) % p);
if(!minn) break;
}
if(!minn) break;
}
cout<<minn<<"\n";
}
return 0;
}
这份代码不知道为啥只有 90 分,(已吸氧)
萌新求助!