diff --git a/QUSTOJ/1426.cpp b/QUSTOJ/1426.cpp new file mode 100644 index 0000000..f68ce06 --- /dev/null +++ b/QUSTOJ/1426.cpp @@ -0,0 +1,43 @@ +#include +#include +#include +using namespace std; + +int s[30][10010]; +int a[400],F[30],t[30][30],d[30][30],p[30]; +int n,m; +int main() +{ + scanf("%d%d",&m,&n); + for (int i=1;i<=n*m;i++) scanf("%d",&a[i]); + for (int i=1;i<=n;i++) + for (int j=1;j<=m;j++) + scanf("%d",&d[i][j]); + for (int i=1;i<=n;i++) + for (int j=1;j<=m;j++) + scanf("%d",&t[i][j]); + memset(s,0,sizeof(s)); + memset(F,0,sizeof(F)); + memset(p,0,sizeof(p)); + int Max,odle,pos; + Max=-1; + for (int i=1;i<=n*m;i++) + { + odle=0; p[a[i]]++; + for (int j=F[a[i]]+1;;j++) + { + if (s[d[a[i]][p[a[i]]]][j]) odle=0; + else odle++; + if (odle>=t[a[i]][p[a[i]]]) + { + pos=j; break; + } + } + for (int k=pos-odle+1;k<=pos;k++) + s[d[a[i]][p[a[i]]]][k]=1; + F[a[i]]=pos; + if (pos>Max) Max=pos; + } + printf("%d\n",Max); + return 0; +} diff --git a/TYVJ/1058_c_y__chou.c b/TYVJ/1058_c_y__chou.c new file mode 100644 index 0000000..519c904 --- /dev/null +++ b/TYVJ/1058_c_y__chou.c @@ -0,0 +1,66 @@ +#include +#include +int train[361]; +int machine[19][19]; +int time[19][19]; +int used[19]; +int finished[19]; +char cpu[19][361]; +int main(void) +{ + int i,j,k; + int m,n; + int t; + int ans; + scanf("%d%d",&m,&n); + for(i=0;i