C++ 神犇们能不能帮我把这段代码加上注释

神犇们可以帮我把除主函数以外的代码加上注释吗?

#include<bits/stdc++.h>

#define REP(i,a,b) for(int i=a,i##_end_=b;i<=i##_end_;++i)
#define DREP(i,a,b) for(int i=a,i##_end_=b;i>=i##_end_;--i)
typedef long long ll;

using namespace std;

void File(){
    freopen("bzoj5017.in","r",stdin);
    freopen("bzoj5017.out","w",stdout);
}

template<typename T>void read(T &_){
    T __=0,mul=1; char ch=getchar();
    while(!isdigit(ch)){
        if(ch=='-')mul=-1;
        ch=getchar();
    }
    while(isdigit(ch))__=(__<<1)+(__<<3)+(ch^'0'),ch=getchar();
    _=__*mul;
}

const int maxn=5e5+10;
const ll mod=1e9+7;
int n,l[maxn],r[maxn];
ll x[maxn],y[maxn],ans;

int main(){
//  File();
    read(n);
    REP(i,1,n)read(x[i]),read(y[i]),l[i]=r[i]=i;
    REP(i,1,n)while(l[i]>1 && x[i]-x[l[i]-1]<=y[i]){
        y[i]=max(y[i],x[l[i]-1]+y[l[i]-1]-x[i]);
        //cout<<x[l[i]-1]+y[l[i]-1]-x[i]<<" ";
        l[i]=l[l[i]-1];
        y[i]=max(y[i],x[l[i]]+y[l[i]]-x[i]);
        //cout<<x[l[i]]+y[l[i]]-x[i]<<endl;
    }
    DREP(i,n,1)while(r[i]<n && x[r[i]+1]-x[i]<=y[i]){
        l[i]=min(l[i],l[r[i]+1]);
        //cout<<l[r[i]+1]<<" ";
        r[i]=r[r[i]+1];
        l[i]=min(l[i],l[r[i]]);
        //cout<<l[r[i]]<<endl;
    }
    REP(i,1,n){
        ans=(ans+1ll*i*(r[i]-l[i]+1)%mod)%mod;
        //cout<<l[i]<<" "<<r[i]<<endl;
    }
    printf("%lld\n",(ans+mod)%mod);
    return 0;
}

img