diff --git a/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README.md b/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README.md
new file mode 100644
index 0000000000000..3f66d34f912b7
--- /dev/null
+++ b/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README.md
@@ -0,0 +1,103 @@
+# [2894. 分类求和并作差](https://leetcode.cn/problems/divisible-and-non-divisible-sums-difference)
+
+[English Version](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README_EN.md)
+
+## 题目描述
+
+
+
+
给你两个正整数 n
和 m
。
+
+现定义两个整数 num1
和 num2
,如下所示:
+
+
+ num1
:范围 [1, n]
内所有 无法被 m
整除 的整数之和。
+ num2
:范围 [1, n]
内所有 能够被 m
整除 的整数之和。
+
+
+返回整数 num1 - num2
。
+
+
+
+示例 1:
+
+
+输入:n = 10, m = 3
+输出:19
+解释:在这个示例中:
+- 范围 [1, 10] 内无法被 3 整除的整数为 [1,2,4,5,7,8,10] ,num1 = 这些整数之和 = 37 。
+- 范围 [1, 10] 内能够被 3 整除的整数为 [3,6,9] ,num2 = 这些整数之和 = 18 。
+返回 37 - 18 = 19 作为答案。
+
+
+示例 2:
+
+
+输入:n = 5, m = 6
+输出:15
+解释:在这个示例中:
+- 范围 [1, 5] 内无法被 6 整除的整数为 [1,2,3,4,5] ,num1 = 这些整数之和 = 15 。
+- 范围 [1, 5] 内能够被 6 整除的整数为 [] ,num2 = 这些整数之和 = 0 。
+返回 15 - 0 = 15 作为答案。
+
+
+示例 3:
+
+
+输入:n = 5, m = 1
+输出:-15
+解释:在这个示例中:
+- 范围 [1, 5] 内无法被 1 整除的整数为 [] ,num1 = 这些整数之和 = 0 。
+- 范围 [1, 5] 内能够被 1 整除的整数为 [1,2,3,4,5] ,num2 = 这些整数之和 = 15 。
+返回 0 - 15 = -15 作为答案。
+
+
+
+
+提示:
+
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README_EN.md b/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README_EN.md
new file mode 100644
index 0000000000000..7c13e0baee5ba
--- /dev/null
+++ b/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README_EN.md
@@ -0,0 +1,93 @@
+# [2894. Divisible and Non-divisible Sums Difference](https://leetcode.com/problems/divisible-and-non-divisible-sums-difference)
+
+[中文文档](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README.md)
+
+## Description
+
+You are given positive integers n
and m
.
+
+Define two integers, num1
and num2
, as follows:
+
+
+ num1
: The sum of all integers in the range [1, n]
that are not divisible by m
.
+ num2
: The sum of all integers in the range [1, n]
that are divisible by m
.
+
+
+Return the integer num1 - num2
.
+
+
+Example 1:
+
+
+Input: n = 10, m = 3
+Output: 19
+Explanation: In the given example:
+- Integers in the range [1, 10] that are not divisible by 3 are [1,2,4,5,7,8,10], num1 is the sum of those integers = 37.
+- Integers in the range [1, 10] that are divisible by 3 are [3,6,9], num2 is the sum of those integers = 18.
+We return 37 - 18 = 19 as the answer.
+
+
+Example 2:
+
+
+Input: n = 5, m = 6
+Output: 15
+Explanation: In the given example:
+- Integers in the range [1, 5] that are not divisible by 6 are [1,2,3,4,5], num1 is the sum of those integers = 15.
+- Integers in the range [1, 5] that are divisible by 6 are [], num2 is the sum of those integers = 0.
+We return 15 - 0 = 15 as the answer.
+
+
+Example 3:
+
+
+Input: n = 5, m = 1
+Output: -15
+Explanation: In the given example:
+- Integers in the range [1, 5] that are not divisible by 1 are [], num1 is the sum of those integers = 0.
+- Integers in the range [1, 5] that are divisible by 1 are [1,2,3,4,5], num2 is the sum of those integers = 15.
+We return 0 - 15 = -15 as the answer.
+
+
+
+Constraints:
+
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2800-2899/2895.Minimum Processing Time/README.md b/solution/2800-2899/2895.Minimum Processing Time/README.md
new file mode 100644
index 0000000000000..3953037da1424
--- /dev/null
+++ b/solution/2800-2899/2895.Minimum Processing Time/README.md
@@ -0,0 +1,92 @@
+# [2895. 最小处理时间](https://leetcode.cn/problems/minimum-processing-time)
+
+[English Version](/solution/2800-2899/2895.Minimum%20Processing%20Time/README_EN.md)
+
+## 题目描述
+
+
+
+你有 n
颗处理器,每颗处理器都有 4
个核心。现有 n * 4
个待执行任务,每个核心只执行 一个 任务。
+
+给你一个下标从 0 开始的整数数组 processorTime
,表示每颗处理器最早空闲时间。另给你一个下标从 0 开始的整数数组 tasks
,表示执行每个任务所需的时间。返回所有任务都执行完毕需要的 最小时间 。
+
+注意:每个核心独立执行任务。
+
+
+
+示例 1:
+
+
+输入:processorTime = [8,10], tasks = [2,2,3,1,8,7,4,5]
+输出:16
+解释:
+最优的方案是将下标为 4, 5, 6, 7 的任务分配给第一颗处理器(最早空闲时间 time = 8),下标为 0, 1, 2, 3 的任务分配给第二颗处理器(最早空闲时间 time = 10)。
+第一颗处理器执行完所有任务需要花费的时间 = max(8 + 8, 8 + 7, 8 + 4, 8 + 5) = 16 。
+第二颗处理器执行完所有任务需要花费的时间 = max(10 + 2, 10 + 2, 10 + 3, 10 + 1) = 13 。
+因此,可以证明执行完所有任务需要花费的最小时间是 16 。
+
+示例 2:
+
+
+输入:processorTime = [10,20], tasks = [2,3,1,2,5,8,4,3]
+输出:23
+解释:
+最优的方案是将下标为 1, 4, 5, 6 的任务分配给第一颗处理器(最早空闲时间 time = 10),下标为 0, 2, 3, 7 的任务分配给第二颗处理器(最早空闲时间 time = 20)。
+第一颗处理器执行完所有任务需要花费的时间 = max(10 + 3, 10 + 5, 10 + 8, 10 + 4) = 18 。
+第二颗处理器执行完所有任务需要花费的时间 = max(20 + 2, 20 + 1, 20 + 2, 20 + 3) = 23 。
+因此,可以证明执行完所有任务需要花费的最小时间是 23 。
+
+
+
+
+提示:
+
+
+ 1 <= n == processorTime.length <= 25000
+ 1 <= tasks.length <= 105
+ 0 <= processorTime[i] <= 109
+ 1 <= tasks[i] <= 109
+ tasks.length == 4 * n
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2800-2899/2895.Minimum Processing Time/README_EN.md b/solution/2800-2899/2895.Minimum Processing Time/README_EN.md
new file mode 100644
index 0000000000000..bec0c21955f33
--- /dev/null
+++ b/solution/2800-2899/2895.Minimum Processing Time/README_EN.md
@@ -0,0 +1,82 @@
+# [2895. Minimum Processing Time](https://leetcode.com/problems/minimum-processing-time)
+
+[中文文档](/solution/2800-2899/2895.Minimum%20Processing%20Time/README.md)
+
+## Description
+
+You have n
processors each having 4
cores and n * 4
tasks that need to be executed such that each core should perform only one task.
+
+Given a 0-indexed integer array processorTime
representing the time at which each processor becomes available for the first time and a 0-indexed integer array tasks
representing the time it takes to execute each task, return the minimum time when all of the tasks have been executed by the processors.
+
+Note: Each core executes the task independently of the others.
+
+
+Example 1:
+
+
+Input: processorTime = [8,10], tasks = [2,2,3,1,8,7,4,5]
+Output: 16
+Explanation:
+It's optimal to assign the tasks at indexes 4, 5, 6, 7 to the first processor which becomes available at time = 8, and the tasks at indexes 0, 1, 2, 3 to the second processor which becomes available at time = 10.
+Time taken by the first processor to finish execution of all tasks = max(8 + 8, 8 + 7, 8 + 4, 8 + 5) = 16.
+Time taken by the second processor to finish execution of all tasks = max(10 + 2, 10 + 2, 10 + 3, 10 + 1) = 13.
+Hence, it can be shown that the minimum time taken to execute all the tasks is 16.
+
+Example 2:
+
+
+Input: processorTime = [10,20], tasks = [2,3,1,2,5,8,4,3]
+Output: 23
+Explanation:
+It's optimal to assign the tasks at indexes 1, 4, 5, 6 to the first processor which becomes available at time = 10, and the tasks at indexes 0, 2, 3, 7 to the second processor which becomes available at time = 20.
+Time taken by the first processor to finish execution of all tasks = max(10 + 3, 10 + 5, 10 + 8, 10 + 4) = 18.
+Time taken by the second processor to finish execution of all tasks = max(20 + 2, 20 + 1, 20 + 2, 20 + 3) = 23.
+Hence, it can be shown that the minimum time taken to execute all the tasks is 23.
+
+
+
+Constraints:
+
+
+ 1 <= n == processorTime.length <= 25000
+ 1 <= tasks.length <= 105
+ 0 <= processorTime[i] <= 109
+ 1 <= tasks[i] <= 109
+ tasks.length == 4 * n
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2800-2899/2896.Apply Operations to Make Two Strings Equal/README.md b/solution/2800-2899/2896.Apply Operations to Make Two Strings Equal/README.md
new file mode 100644
index 0000000000000..436910d2f9341
--- /dev/null
+++ b/solution/2800-2899/2896.Apply Operations to Make Two Strings Equal/README.md
@@ -0,0 +1,94 @@
+# [2896. 执行操作使两个字符串相等](https://leetcode.cn/problems/apply-operations-to-make-two-strings-equal)
+
+[English Version](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README_EN.md)
+
+## 题目描述
+
+
+
+给你两个下标从 0 开始的二进制字符串 s1
和 s2
,两个字符串的长度都是 n
,再给你一个正整数 x
。
+
+你可以对字符串 s1
执行以下操作 任意次 :
+
+
+ - 选择两个下标
i
和 j
,将 s1[i]
和 s1[j]
都反转,操作的代价为 x
。
+ - 选择满足
i < n - 1
的下标 i
,反转 s1[i]
和 s1[i + 1]
,操作的代价为 1
。
+
+
+请你返回使字符串 s1
和 s2
相等的 最小 操作代价之和,如果无法让二者相等,返回 -1
。
+
+注意 ,反转字符的意思是将 0
变成 1
,或者 1
变成 0
。
+
+
+
+示例 1:
+
+
+输入:s1 = "1100011000", s2 = "0101001010", x = 2
+输出:4
+解释:我们可以执行以下操作:
+- 选择 i = 3 执行第二个操作。结果字符串是 s1 = "1101111000" 。
+- 选择 i = 4 执行第二个操作。结果字符串是 s1 = "1101001000" 。
+- 选择 i = 0 和 j = 8 ,执行第一个操作。结果字符串是 s1 = "0101001010" = s2 。
+总代价是 1 + 1 + 2 = 4 。这是最小代价和。
+
+
+示例 2:
+
+
+输入:s1 = "10110", s2 = "00011", x = 4
+输出:-1
+解释:无法使两个字符串相等。
+
+
+
+
+提示:
+
+
+ n == s1.length == s2.length
+ 1 <= n, x <= 500
+ s1
和 s2
只包含字符 '0'
和 '1'
。
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2800-2899/2896.Apply Operations to Make Two Strings Equal/README_EN.md b/solution/2800-2899/2896.Apply Operations to Make Two Strings Equal/README_EN.md
new file mode 100644
index 0000000000000..ce36722dcb2b1
--- /dev/null
+++ b/solution/2800-2899/2896.Apply Operations to Make Two Strings Equal/README_EN.md
@@ -0,0 +1,84 @@
+# [2896. Apply Operations to Make Two Strings Equal](https://leetcode.com/problems/apply-operations-to-make-two-strings-equal)
+
+[中文文档](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README.md)
+
+## Description
+
+You are given two 0-indexed binary strings s1
and s2
, both of length n
, and a positive integer x
.
+
+You can perform any of the following operations on the string s1
any number of times:
+
+
+ - Choose two indices
i
and j
, and flip both s1[i]
and s1[j]
. The cost of this operation is x
.
+ - Choose an index
i
such that i < n - 1
and flip both s1[i]
and s1[i + 1]
. The cost of this operation is 1
.
+
+
+Return the minimum cost needed to make the strings s1
and s2
equal, or return -1
if it is impossible.
+
+Note that flipping a character means changing it from 0
to 1
or vice-versa.
+
+
+Example 1:
+
+
+Input: s1 = "1100011000", s2 = "0101001010", x = 2
+Output: 4
+Explanation: We can do the following operations:
+- Choose i = 3 and apply the second operation. The resulting string is s1 = "1101111000".
+- Choose i = 4 and apply the second operation. The resulting string is s1 = "1101001000".
+- Choose i = 0 and j = 8 and apply the first operation. The resulting string is s1 = "0101001010" = s2.
+The total cost is 1 + 1 + 2 = 4. It can be shown that it is the minimum cost possible.
+
+
+Example 2:
+
+
+Input: s1 = "10110", s2 = "00011", x = 4
+Output: -1
+Explanation: It is not possible to make the two strings equal.
+
+
+
+Constraints:
+
+
+ n == s1.length == s2.length
+ 1 <= n, x <= 500
+ s1
and s2
consist only of the characters '0'
and '1'
.
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2800-2899/2897.Apply Operations on Array to Maximize Sum of Squares/README.md b/solution/2800-2899/2897.Apply Operations on Array to Maximize Sum of Squares/README.md
new file mode 100644
index 0000000000000..895ee9ef0f7dd
--- /dev/null
+++ b/solution/2800-2899/2897.Apply Operations on Array to Maximize Sum of Squares/README.md
@@ -0,0 +1,96 @@
+# [2897. 对数组执行操作使平方和最大](https://leetcode.cn/problems/apply-operations-on-array-to-maximize-sum-of-squares)
+
+[English Version](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README_EN.md)
+
+## 题目描述
+
+
+
+给你一个下标从 0 开始的整数数组 nums
和一个 正 整数 k
。
+
+你可以对数组执行以下操作 任意次 :
+
+
+ - 选择两个互不相同的下标
i
和 j
,同时 将 nums[i]
更新为 (nums[i] AND nums[j])
且将 nums[j]
更新为 (nums[i] OR nums[j])
,OR
表示按位 或 运算,AND
表示按位 与 运算。
+
+
+你需要从最终的数组里选择 k
个元素,并计算它们的 平方 之和。
+
+请你返回你可以得到的 最大 平方和。
+
+由于答案可能会很大,将答案对 109 + 7
取余 后返回。
+
+
+
+示例 1:
+
+
+输入:nums = [2,6,5,8], k = 2
+输出:261
+解释:我们可以对数组执行以下操作:
+- 选择 i = 0 和 j = 3 ,同时将 nums[0] 变为 (2 AND 8) = 0 且 nums[3] 变为 (2 OR 8) = 10 ,结果数组为 nums = [0,6,5,10] 。
+- 选择 i = 2 和 j = 3 ,同时将 nums[2] 变为 (5 AND 10) = 0 且 nums[3] 变为 (5 OR 10) = 15 ,结果数组为 nums = [0,6,0,15] 。
+从最终数组里选择元素 15 和 6 ,平方和为 152 + 62 = 261 。
+261 是可以得到的最大结果。
+
+
+示例 2:
+
+
+输入:nums = [4,5,4,7], k = 3
+输出:90
+解释:不需要执行任何操作。
+选择元素 7 ,5 和 4 ,平方和为 72 + 52 + 42 = 90 。
+90 是可以得到的最大结果。
+
+
+
+
+提示:
+
+
+ 1 <= k <= nums.length <= 105
+ 1 <= nums[i] <= 109
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2800-2899/2897.Apply Operations on Array to Maximize Sum of Squares/README_EN.md b/solution/2800-2899/2897.Apply Operations on Array to Maximize Sum of Squares/README_EN.md
new file mode 100644
index 0000000000000..590360f0bda48
--- /dev/null
+++ b/solution/2800-2899/2897.Apply Operations on Array to Maximize Sum of Squares/README_EN.md
@@ -0,0 +1,86 @@
+# [2897. Apply Operations on Array to Maximize Sum of Squares](https://leetcode.com/problems/apply-operations-on-array-to-maximize-sum-of-squares)
+
+[中文文档](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README.md)
+
+## Description
+
+You are given a 0-indexed integer array nums
and a positive integer k
.
+
+You can do the following operation on the array any number of times:
+
+
+ - Choose any two distinct indices
i
and j
and simultaneously update the values of nums[i]
to (nums[i] AND nums[j])
and nums[j]
to (nums[i] OR nums[j])
. Here, OR
denotes the bitwise OR
operation, and AND
denotes the bitwise AND
operation.
+
+
+You have to choose k
elements from the final array and calculate the sum of their squares.
+
+Return the maximum sum of squares you can achieve.
+
+Since the answer can be very large, return it modulo 109 + 7
.
+
+
+Example 1:
+
+
+Input: nums = [2,6,5,8], k = 2
+Output: 261
+Explanation: We can do the following operations on the array:
+- Choose i = 0 and j = 3, then change nums[0] to (2 AND 8) = 0 and nums[3] to (2 OR 8) = 10. The resulting array is nums = [0,6,5,10].
+- Choose i = 2 and j = 3, then change nums[2] to (5 AND 10) = 0 and nums[3] to (5 OR 10) = 15. The resulting array is nums = [0,6,0,15].
+We can choose the elements 15 and 6 from the final array. The sum of squares is 152 + 62 = 261.
+It can be shown that this is the maximum value we can get.
+
+
+Example 2:
+
+
+Input: nums = [4,5,4,7], k = 3
+Output: 90
+Explanation: We do not need to apply any operations.
+We can choose the elements 7, 5, and 4 with a sum of squares: 72 + 52 + 42 = 90.
+It can be shown that this is the maximum value we can get.
+
+
+
+Constraints:
+
+
+ 1 <= k <= nums.length <= 105
+ 1 <= nums[i] <= 109
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/CONTEST_README.md b/solution/CONTEST_README.md
index 28f2e07820fbc..8c239d0bd0053 100644
--- a/solution/CONTEST_README.md
+++ b/solution/CONTEST_README.md
@@ -22,6 +22,13 @@
## 往期竞赛
+#### 第 366 场周赛(2023-10-08 10:30, 90 分钟) 参赛人数 2790
+
+- [2894. 分类求和并作差](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README.md)
+- [2895. 最小处理时间](/solution/2800-2899/2895.Minimum%20Processing%20Time/README.md)
+- [2896. 执行操作使两个字符串相等](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README.md)
+- [2897. 对数组执行操作使平方和最大](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README.md)
+
#### 第 365 场周赛(2023-10-01 10:30, 90 分钟) 参赛人数 2909
- [2873. 有序三元组中的最大值 I](/solution/2800-2899/2873.Maximum%20Value%20of%20an%20Ordered%20Triplet%20I/README.md)
diff --git a/solution/CONTEST_README_EN.md b/solution/CONTEST_README_EN.md
index 792ec1703868c..fbba212a38f33 100644
--- a/solution/CONTEST_README_EN.md
+++ b/solution/CONTEST_README_EN.md
@@ -25,6 +25,13 @@ Get your rating changes right after the completion of LeetCode contests, https:/
## Past Contests
+#### Weekly Contest 366
+
+- [2894. Divisible and Non-divisible Sums Difference](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README_EN.md)
+- [2895. Minimum Processing Time](/solution/2800-2899/2895.Minimum%20Processing%20Time/README_EN.md)
+- [2896. Apply Operations to Make Two Strings Equal](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README_EN.md)
+- [2897. Apply Operations on Array to Maximize Sum of Squares](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README_EN.md)
+
#### Weekly Contest 365
- [2873. Maximum Value of an Ordered Triplet I](/solution/2800-2899/2873.Maximum%20Value%20of%20an%20Ordered%20Triplet%20I/README_EN.md)
diff --git a/solution/README.md b/solution/README.md
index 988c0c1082dd2..2328ae0a5357e 100644
--- a/solution/README.md
+++ b/solution/README.md
@@ -2904,6 +2904,10 @@
| 2891 | [Method Chaining](/solution/2800-2899/2891.Method%20Chaining/README.md) | | 简单 | |
| 2892 | [Minimizing Array After Replacing Pairs With Their Product](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README.md) | | 中等 | 🔒 |
| 2893 | [Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md) | | 中等 | 🔒 |
+| 2894 | [分类求和并作差](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README.md) | | 简单 | 第 366 场周赛 |
+| 2895 | [最小处理时间](/solution/2800-2899/2895.Minimum%20Processing%20Time/README.md) | | 中等 | 第 366 场周赛 |
+| 2896 | [执行操作使两个字符串相等](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README.md) | | 中等 | 第 366 场周赛 |
+| 2897 | [对数组执行操作使平方和最大](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README.md) | | 困难 | 第 366 场周赛 |
## 版权
diff --git a/solution/README_EN.md b/solution/README_EN.md
index 040c0fa3e8ba5..43ee56d3f9858 100644
--- a/solution/README_EN.md
+++ b/solution/README_EN.md
@@ -2902,6 +2902,10 @@ Press Control + F(or Command + F on
| 2891 | [Method Chaining](/solution/2800-2899/2891.Method%20Chaining/README_EN.md) | | Easy | |
| 2892 | [Minimizing Array After Replacing Pairs With Their Product](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README_EN.md) | | Medium | 🔒 |
| 2893 | [Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README_EN.md) | | Medium | 🔒 |
+| 2894 | [Divisible and Non-divisible Sums Difference](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README_EN.md) | | Easy | Weekly Contest 366 |
+| 2895 | [Minimum Processing Time](/solution/2800-2899/2895.Minimum%20Processing%20Time/README_EN.md) | | Medium | Weekly Contest 366 |
+| 2896 | [Apply Operations to Make Two Strings Equal](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README_EN.md) | | Medium | Weekly Contest 366 |
+| 2897 | [Apply Operations on Array to Maximize Sum of Squares](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README_EN.md) | | Hard | Weekly Contest 366 |
## Copyright
diff --git a/solution/summary.md b/solution/summary.md
index 664db13ecb20d..60cef39e98a14 100644
--- a/solution/summary.md
+++ b/solution/summary.md
@@ -2949,3 +2949,7 @@
- [2891.Method Chaining](/solution/2800-2899/2891.Method%20Chaining/README.md)
- [2892.Minimizing Array After Replacing Pairs With Their Product](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README.md)
- [2893.Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md)
+ - [2894.分类求和并作差](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README.md)
+ - [2895.最小处理时间](/solution/2800-2899/2895.Minimum%20Processing%20Time/README.md)
+ - [2896.执行操作使两个字符串相等](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README.md)
+ - [2897.对数组执行操作使平方和最大](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README.md)
diff --git a/solution/summary_en.md b/solution/summary_en.md
index 6200030e654ae..fa7e7f91712ba 100644
--- a/solution/summary_en.md
+++ b/solution/summary_en.md
@@ -2949,3 +2949,7 @@
- [2891.Method Chaining](/solution/2800-2899/2891.Method%20Chaining/README_EN.md)
- [2892.Minimizing Array After Replacing Pairs With Their Product](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README_EN.md)
- [2893.Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README_EN.md)
+ - [2894.Divisible and Non-divisible Sums Difference](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README_EN.md)
+ - [2895.Minimum Processing Time](/solution/2800-2899/2895.Minimum%20Processing%20Time/README_EN.md)
+ - [2896.Apply Operations to Make Two Strings Equal](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README_EN.md)
+ - [2897.Apply Operations on Array to Maximize Sum of Squares](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README_EN.md)