比赛时被他人登录账号抄袭代码不管是任何原因都无法申诉吗
  • 板块灌水区
  • 楼主nnn233
  • 当前回复11
  • 已保存回复11
  • 发布时间2024/10/21 19:36
  • 上次更新2024/10/21 20:51:03
查看原帖
比赛时被他人登录账号抄袭代码不管是任何原因都无法申诉吗
993065
nnn233楼主2024/10/21 19:36

昨天下午的 【MX-S4】梦熊 CSP-S 2024 模拟赛(同步赛)中,我被 @zy_plus_plus 抄袭了 T1 代码 ,我与他并非同一机房,可能是他不知以何手段获取了我的账号密码,我能证明我在比赛中无任何违规行为,且未向他人传递思路、代码。有没有可能申诉呢?要提供什么材料呢? 另外 @zy_plus_plus 在GDKOI 2023 普及组中有作弊前科。

附截图

附双方代码

这是我的

#include<bits/stdc++.h>
using namespace std;
//#pragma GCC optimize(3,"Ofast","inline")
// #define int long long
typedef long long ll;
const int mod=1e9+7;
const int N=2e5+50;
#define lc (u<<1)
#define rc (u<<1|1)
#define mid (l+r>>1)
#define ls lc,l,mid
#define rs rc,mid+1,r
#define root 1,1,n
int a[N],n,q;
long long w,sum;
struct segmentTree{
    long long v,tag;
    int len;
}tr[N<<2];
inline void pushup(int u){
    tr[u].v=tr[lc].v+tr[rc].v;
}
inline void pushdown(int u){
    if(tr[u].tag)tr[lc].v+=tr[u].tag*tr[lc].len,tr[rc].v+=tr[u].tag*tr[rc].len,tr[lc].tag+=tr[u].tag,tr[rc].tag+=tr[u].tag,tr[u].tag=0;
}
inline void build(int u,int l,int r){
    if(l==r)return (void)(tr[u].len=1,tr[u].v=a[l],tr[u].tag=0);
    tr[u].len=r-l+1;
    build(ls);
    build(rs);
    pushup(u);
}
inline void update(int u,int l,int r,int s,int e,long long v){
    if(s<=l&&r<=e){
        tr[u].v+=tr[u].len*v;
        tr[u].tag+=v;
        return ;
    }
    pushdown(u);
    if(s<=mid)update(ls,s,e,v);
    if(e>mid)update(rs,s,e,v);
    pushup(u);
}
inline int query(int u,int l,int r,long long v,long long tm){
    pushdown(u);
    if(l==r)return r;
    if(tr[lc].v*tm<v)return query(rs,v-tr[lc].v*tm,tm);
    else return query(ls,v,tm);
}
inline long long read(){
    long long x=0;
    char ch=0;
    while(ch<'0'||ch>'9'){
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=x*10+(ch-'0');
        ch=getchar();
    }
    return x;
}
signed main(){
    // freopen("wxyt4.in","r",stdin);
    // freopen("a.out","w",stdout);
    long long pow2[105],sum=0;
    pow2[0]=1;
    for(int i=1;i<=62;++i)
        pow2[i]=pow2[i-1]<<1;
    n=read(),q=read(),w=read();
    for(int i=1;i<=n;++i)a[i]=read(),sum+=a[i];
    build(root);
    while(q--){
        int l,r,v,ans,res1=0;
        long long tmp1;
        l=read(),r=read(),v=read();
        sum+=(r-l+1ll)*v;
        update(root,l,r,v);
        while((pow2[res1]-1)*sum<w)res1++;
        res1--;
        printf("%lld\n",1ll*res1*n+query(root,w-(pow2[res1]-1)*sum,pow2[res1])-1);
    }
    return 0;
}
/*
 
*/
 
/*
文件名: T1.cpp
创建时间: 2024-10-20 14:32:53
作者: nnn233
*/

这是 @zy_plus_plus 的

#include<bits/stdc++.h>
#define lc (u<<1)
#define rc (u<<1|1)
#define mid (l+r>>1)
#define ls lc,l,mid
#define rs rc,mid+1,r
#define root 1,1,n
using namespace std;
typedef long long ll;
const int mod=1e9+7;
const int N=2e5+50;
int a[N],n,q;
long long w,sum;
struct segmentTree{
    long long v,tag;
    int len;
}tr[N<<2];
inline void pushup(int u){
    tr[u].v=tr[lc].v+tr[rc].v;
}
inline void pushdown(int u){
    if(tr[u].tag)tr[lc].v+=tr[u].tag*tr[lc].len,tr[rc].v+=tr[u].tag*tr[rc].len,tr[lc].tag+=tr[u].tag,tr[rc].tag+=tr[u].tag,tr[u].tag=0;
}
inline void build(int u,int l,int r){
    if(l==r)return (void)(tr[u].len=1,tr[u].v=a[l],tr[u].tag=0);
    tr[u].len=r-l+1;
    build(ls);
    build(rs);
    pushup(u);
}
inline void update(int u,int l,int r,int s,int e,long long v){
    if(s<=l&&r<=e){
        tr[u].v+=tr[u].len*v;
        tr[u].tag+=v;
        return ;
    }
    pushdown(u);
    if(s<=mid)update(ls,s,e,v);
    if(e>mid)update(rs,s,e,v);
    pushup(u);
}
inline int query(int u,int l,int r,long long v,long long tm){
    pushdown(u);
    if(l==r)return r;
    if(tr[lc].v*tm<v)return query(rs,v-tr[lc].v*tm,tm);
    else return query(ls,v,tm);
}
inline long long read(){
    long long x=0;
    char ch=0;
    while(ch<'0'||ch>'9'){
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=x*10+(ch-'0');
        ch=getchar();
    }
    return x;
}
signed main(){
    long long pow2[105],sum=0;
    pow2[0]=1;
    for(int i=1;i<=62;++i)
        pow2[i]=pow2[i-1]<<1;
    n=read(),q=read(),w=read();
    for(int i=1;i<=n;++i)a[i]=read(),sum+=a[i];
    build(root);
    while(q--){
        int l,r,v,ans,res1=0;
        long long tmp1;
        l=read(),r=read(),v=read();
        sum+=(r-l+1ll)*v;
        update(root,l,r,v);
        while((pow2[res1]-1)*sum<w)res1++;
        res1--;
        printf("%lld\n",1ll*res1*n+query(root,w-(pow2[res1]-1)*sum,pow2[res1])-1);
    }
    return 0;
}

2024/10/21 19:36
加载中...