社区建设网站,做网站页面过大好,dedecms 做电商网站,wordpress页面显示标签代码题目背景 语文考试结束了#xff0c;成绩还是一如既往地有问题。 题目描述 语文老师总是写错成绩#xff0c;所以当她修改成绩的时候#xff0c;总是累得不行。她总是要一遍遍地给某些同学增加分数#xff0c;又要注意最低分是多少。你能帮帮她吗#xff1f; //这又跟神器… 题目背景 语文考试结束了成绩还是一如既往地有问题。 题目描述 语文老师总是写错成绩所以当她修改成绩的时候总是累得不行。她总是要一遍遍地给某些同学增加分数又要注意最低分是多少。你能帮帮她吗 //这又跟神器有什么关系呢神说呵呵。 //因为n和p的范围比较大 建议C选手使用scanf读入. //同时建议写读入优化.... //最后一个点亲测pas读入800msc/C的scanf 1200ms所以这个点的时限改为2s 输入格式 第一行有两个整数np代表学生数与增加分数的次数。 第二行有n个数a1~an代表各个学生的初始成绩。 接下来p行每行有三个数xyz代表给第x个到第y个学生每人增加z分。 输出格式 输出仅一行代表更改分数后全班的最低分。 输入输出样例 输入 #1复制 3 2
1 1 1
1 2 1
2 3 1 输出 #1复制 2说明/提示 对于40%的数据有n1000 对于60%的数据有n10000 对于80%的数据有n100000 对于100%的数据有n5000000pn学生初始成绩100z100 可以拿线段树做但我是拿差分数组做的比线段树要快O(n),的时间复杂度。 #includecstdio
#includeiostream
using namespace std;int n,i,p,j,a[5000005],x,y,z,w[5000005];inline int read()
{int x0;char chgetchar();char cch;while(ch9||ch0)cch,chgetchar();while(ch9ch 0)xx*10ch-0,chgetchar();if(c-)xx*-1;return x;
}int main(){nread();pread();for(i1;in;i){a[i]read();w[i]a[i]-a[i-1];}while(p--){xread();yread();zread();w[x]z;w[y1]-z;}int answ[1];for(i1;in;i){a[i]a[i-1]w[i];ansmin(ans,a[i]);}printf(%d,ans);return 0;
} 转载于:https://www.cnblogs.com/hrj1/p/11143008.html